我的应用程序里有一张反馈表。用户必须登录才能提交反馈。要求用户在文本区域中输入反馈。提交后,我想将用户详细信息存储在submitted\ uBy字段中,并将表单的创建时间存储为submitted\ uDate(其中还包含时间)。你知道吗
我读过很多关于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 %}
如果您能建议对我的代码进行相应的修改,我们将不胜感激。谢谢。你知道吗
你能做到的
在模型中
使用
auto_now_add
没有错。但是既然你必须设置提交者和日期,那么这样做就不会有什么好处。你知道吗不过,模式是在保存表单时使用
commit=False
,然后在手动保存之前修改返回的对象。你知道吗相关问题 更多 >
编程相关推荐