Передача сессии в forms.py в django
Я работаю над проектом django, в котором я использую модель как форму для создания страницы загрузки изображений. Проблема в том, что есть внешний ключ, ссылающийся на таблицу профиля пользователя, который получает список пользователей в выпадающем меню. Я понял, что мне нужно использовать значение сессии от вошедшего пользователя, но до сих пор я не смог передать сессию через форму.
Конечно, я пробовал несколько решений, найденных в похожих вопросах, но эти варианты не сработали для меня
вот код:
формирует :
class ImageForm(forms.ModelForm):
class Meta:
model = ImageMedia
fields = ['id', 'Image', 'ImageTitle', 'ImageContext', 'Uploader']
labels = {'Image' : 'Select Image', 'Image Context' : 'Image Context'}
Модели :
class ImageMedia(models.Model):
id = models.AutoField(primary_key = True)
Image = models.ImageField(verbose_name="Image Name", upload_to = "ImageSet")
UploadDate = models.DateTimeField(verbose_name="Date and time uploaded", auto_now_add=True)
Uploader = models.ForeignKey(UserProfile, on_delete=models.CASCADE, null=False)
ImageTitle = models.CharField(verbose_name="Image Title", null=False, max_length=100)
ImageContext = models.CharField(verbose_name="Image Context", max_length=500, null=True)
def __str__(self):
return self.ImageTitle
загрузите шаблон
<body>
<div class="container">
<center><div class="card" style="width: 28rem;">
<div class="py-5 text-center bg-secondary text-white">
<div class="card-header">
<h1 class="mb-3">Upload Image</h1>
</div>
<form name="UploadForm" method="POST" enctype="multipart/form-data">
{% csrf_token %}
{% comment %}
{{form.Image}}
{{form.ImageTitle}}
{{form.Uploader.as_hidden}}
{{form.ImageContext}}
{% endcomment %}
{{form.as_p}}
<input type="submit" id="submit" class="btn btn-success" name="submit" value="Upload">
</form>
</div>
</div>
</center>
</div>
</body>
несколько вещей, которые я пробовал...
- Я попробовал предоставить значение по умолчанию, используя init для обоих в forms.py и шаблоне, но, похоже, это не сработало .
- Я попробовал сделать пользовательскую форму, передавая значение как request.session['key], но это конфликтует с моим представлением, и оно передает значение изображения как null, но ему удалось получить название изображения и контекст .
Существует ли другой способ решения этой проблемы? Если да, то я не знаю. Любая помощь будет принята с благодарностью