我在我的應用程序中有反饋表單。用戶必須登錄才能提交反饋。用戶被要求在文本區域輸入反饋。提交後,我想將用戶詳細信息存儲在submit_by字段中,並將創建表單的時間存儲爲submitted_date(其中也包含時間)。如何在Django的反饋表單中包含submitted_date和submitted_by?
我已閱讀了許多有關使用auto-now_add=True
和auto_now
的討論,但對此主題有許多意見,也有點混淆。
我正在使用模型表單從用戶輸入數據。這是我的不同的文件看起來像:
# myapp/models.py
class Feedback(models.Model):
content = models.TextField(max_length=100)
submitted_by = models.ForeignKey(User)
submitted_date = models.DateTimeField() # what do add here in arguments ?
def __str__(self):
return self.content + " @ " + self.submitted_date
# myapp/forms.py
class FeedbackForm(ModelForm):
class Meta:
model = Feedback
fields = [ 'content' ]
# myapp/views.py
def addfeeback(request):
if request.method == "POST":
form = FeedbackForm(request.POST)
if form.is_valid():
form.save()
# Do I need to do something here ?
return redirect('home')
else:
form = FeedbackForm()
return render(request, 'myapp/addFeedback.html', { 'form': form})
# myapp/urls.py
url(r'^feedback/$', core_views.addfeeback , name='add-feedback'),
# myapp/templates/addFeedback.html
{% extends 'registration/base.html' %}
{% block title %} Feedback {% endblock %}
{% block content %}
<form method="post" >
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit">
</form>
{% endblock %}
這將不勝感激,如果你能提出相關的修改到我的代碼不能如願。謝謝。
或'django.utils.timezone.now()',理想情況下;-) –