我有以下代码,试图将表单数据插入数据库。
我没有收到错误,但没有插入任何内容,有人可以告诉我为什么吗?
视图:
from .models import Todo
def create_task(request):
if request.method == 'POST':
creator = request.user
assignee = request.POST.get('assignee')
task = request.POST.get('task')
i = Todo.objects.create(creator=creator, assignee=assignee, text=task, complete='FALSE')
i.save(force_insert = True)
模型:
class Todo(models.Model):
creator = models.CharField(max_length=400, default="none")
text = models.CharField(max_length=400)
complete = models.BooleanField(default=False)
assignee = models.CharField(max_length=400, default="none")
def __str__(self):
return self.text
网址:
urlpatterns = [
url(r'^$', views.todo, name='index'),
url(r'^$', views.create_task, name='index'),
答案 0 :(得分:1)
首先,更改您的网址,使其与众不同:
url(r'^$', views.todo, name='index'),
url(r'^create/$', views.create_task, name='create'),
现在,当您发出POST请求或提交表单时,会将其发送到/create/
。
如果要在创建模型后将用户发送回index
页面,可以使用redirect
函数。
from django.shortcuts import redirect
def create_task(request):
# save data ...
...
return redirect('index')