将数据插入django db问题(什么都没有插入)

时间:2018-12-29 22:01:53

标签: django database python-3.x

我有以下代码,试图将表单数据插入数据库。

我没有收到错误,但没有插入任何内容,有人可以告诉我为什么吗?

视图

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'),

1 个答案:

答案 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')