[英]Django - saving form to the built in database SQLite
這是我第一次使用Django,非常簡單地嘗試將文本保存到數據庫中。 我已經在數據庫中創建了表輸入。
我收到以下錯誤;
我的代碼如下:
型號
from django.db import models
class Input(models.Model):
waist = models.IntegerField(default=0)
height = models.IntegerField(default=0)
def __unicode__(self):
return "{0} {1} {2}".format(
self, self.waist, self.height)
表格
class InputForm(forms.ModelForm):
class Meta:
model = Input
fields ={
'waist',
'height'
}
views.py
def InputView(request):
if request.POST:
form = InputForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('account/input')
else:
form = InputForm()
args = {'form' : form}
return render(request,'accounts/input.html', args)
urls.py
url(r'^input/$',views.InputView, name='view_input')
input.html
{% extends 'base.html' %}
{% block head %}
<title> Edit Profile </title>
{% endblock %}
{% block body %}
<div class="container">
<h1> Enter Body Details </h1>
<br>
<br>
<form action="account/input" method="post">
{% csrf_token %}
<ul>
{{form.as_ul}}
</ul>
<input type="Submit" name="submit" value="submit"/>
</form>
</div>
{% endblock %}
如果有人可以幫助,將不勝感激。
HttpResponseRedirect('account/input')
您需要在開頭再添加一個“ /”,例如
HttpResponseRedirect('/account/input')
另一種方法是使用reverse(),因此,如果您更改URL,則不必更改代碼,並且可以避免輸入URL時出錯。
代替
HttpResponseRedirect('/account/input')
采用
HttpResponseRedirect(reverse('view_input'))
記得添加導入
from django.urls import reverse
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.