Я очень плохо знаком с Django и пытаюсь создать небольшое приложение для своей семьи с некоторыми базовыми c функциями, одним из которых является приложение для блога. Теперь я хочу сохранить автора записи в блоге в модели статьи, чтобы сохранить ее в базе данных. В конце в записи блога я хочу заголовок, который отображает автора и дату и время.
Я нашел несколько подходов к этому, но некоторые, как ни один из них до сих пор не работал для меня. Последнее, что я сейчас сделал, это попытался захватить имя пользователя в представлении с помощьюquesques.user.get_username (), а затем заполнить поле в моей форме этой строкой в качестве начального значения. Почему-то это просто не проходит, я всегда получаю сообщение об ошибке «поле обязательно для заполнения» ...
Вот мой блог-create-view.py:
def blog_create_view(request):
user = request.user.get_username()
data = {'author': user}
form = BlogForm(request.POST, data)
if form.is_valid():
form.save()
return HttpResponseRedirect('/blog/blog-create/thanks')
else:
print(form.errors)
form = BlogForm()
context = {
'articleform' : form,
}
return render(request, "blog-create.html", context)
this это форма:
class BlogForm(forms.ModelForm):
title = forms.CharField(label='',
widget=forms.TextInput(attrs={"placeholder":"Titelfeld"}))
text = forms.CharField(
label='',
widget=forms.Textarea(
)
)
author = forms.CharField(widget=forms.HiddenInput())
class Meta:
model = Article
fields = [
'title',
'text',
]
и это модель:
class Article(models.Model):
title = models.CharField(blank=False,max_length=1000)
text = models.CharField(blank=False, default='Text', max_length=10000)
datetime = models.DateTimeField(auto_now=True)
featured = models.BooleanField(default='False')
author = models.CharField(max_length=1000)
Помощь очень ценится! Я очень расстроен, пытаясь понять это