[英]form.save() not saving
出於某種原因,我無法將 form.save() 保存到我的數據庫中。 我能夠創建表單,並將表單傳遞給我的模板,但沒有任何內容保存到數據庫中。 我已經搞砸了好幾個小時,但無法讓它工作。
任何幫助表示贊賞。
這是相關代碼..
這是我的 add/model.py
from django.db import models
from django.forms import ModelForm
class addTask(models.Model):
task = models.CharField('Task', max_length=60)
taskNotes = models.CharField('Notes', max_length=600)
def __unicode__(self):
return self.task
class addTaskForm(ModelForm):
class Meta:
model = addTask
模板/添加THEtask.html。 這被正確引用。
<form action="/todo/" method="post">
{{ form.as_p }}
<input type="submit" value="Add Task" />
</form>
添加/views.py
from django.shortcuts import render_to_response
from django.template import RequestContext
from myToDo.add.models import addTask, addTaskForm
def create_task(request):
if request.method == 'POST':
form = addTaskForm(request.POST)
if form.is_valid():
form.save()
else:
form = addTaskForm()
return render_to_response('addTHEtask.html', {'form': form})
要正確調試您的代碼,請將您的模板更改為:
<form action="/todo/" method="post"> {{ csrf_token }}
{{ form.errors }}
{{ form.as_p }}
<input type="submit" value="Add Task" />
</form>
您的觀點是:
def create_task(request):
if request.method == 'POST':
form = addTaskForm(request.POST)
if form.is_valid():
form.save()
else:
form = addTaskForm()
return render_to_response(
'addTHEtask.html',
{'form': form},
context_instance=RequestContext(request))
我認為 context_instance 不會對您有任何意義,但在使用 render_to_response 時傳遞它通常是正確的。
在表單中顯示錯誤可能有助於您找出實際問題所在。 您的代碼看起來(大部分)正確,除了缺少 csrf_token。 添加令牌並顯示任何錯誤,應該會告訴您出了什么問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.