【发布时间】:2020-07-24 03:48:32
【问题描述】:
在我的 Django 应用程序中,用户发送有关任务的反馈。我正在用ModelForm 创建这个form,在form.save() 之后,我的对象没有创建,也没有上传到数据库。这是我的代码:
views.py:
@login_required(login_url='sign_in')
def task_details(request, slug):
if slug:
task = get_object_or_404(Task, slug=slug)
today = datetime.now().date()
deadline = task.task_deadline.date()
time_left = deadline - today
form = CreateFeedbackForm()
if request.method == 'POST':
form = CreateFeedbackForm(request.POST)
if form.is_valid():
form.save()
return redirect('index')
else:
form = CreateFeedbackForm()
messages.info(request, 'Feedback sent.')
context = {
'task': task,
'form': form,
'days_left': time_left.days
}
return render(request, 'task-details.html', context)
models.py:
class TaskFeedback(models.Model):
task = models.ForeignKey(Task, on_delete=models.CASCADE, null=True, blank=True)
sender = CurrentUserField()
is_solved = models.BooleanField(default=False)
feedback_content = models.TextField(max_length=1000, null=True, blank=True)
date_added = models.DateTimeField(auto_now_add = True)
def __str__(self):
return self.feedback_content
forms.py:
class CreateFeedbackForm(forms.ModelForm):
class Meta:
model = TaskFeedback
fields = ['feedback_content', 'is_solved']
def __init__(self, *args, **kwargs):
super(CreateFeedbackForm, self).__init__(*args, **kwargs)
【问题讨论】:
-
能否添加提交表单的html模板?
-
@Chris,非常感谢你,朋友,问题确实出在 html 模板中。
-
您可以发布您的 html 并回答您自己的问题(您是如何解决问题的)作为其他用户的参考。
标签: python django django-models django-forms django-views