![](/img/trans.png)
[英]django form not saving on postgresql but does save to sqlite
[英]Django Form Data Does Not Save to DB (sqlite)
當我提交表單時,終端會顯示:“ POST / polls / HTTP / 1.1” 200851。當我通過python manage.py shell檢查時,表單數據不會顯示。 我不確定為什么數據沒有保存到sqlite數據庫中。 我認為當我嘗試保存表單時,錯誤出現在視圖部分。 我已經閱讀了不同的帖子,似乎有類似的問題,但是我似乎無法弄清楚我的問題是什么。
模型:
from django.db import models
class Stores(models.Model):
name = models.CharField(max_length=200)
address = models.CharField(max_length=30)
city = models.CharField(max_length=30)
state = models.CharField(max_length=2)
def __str__(self):
return "%s (%s,%s) %s" % (self.name, self.city, self.state,
self.address)
形式:
from django.forms import ModelForm
from mysite.polls.models import Stores
class StoreForm(ModelForm):
class Meta:
model = Stores
fields = ['name','address','city','state']
觀看次數:
from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect
from django.core.urlresolvers import reverse
from mysite.polls.models import Stores
from mysite.polls.forms import StoreForm
def index(request):
downtown_store = Stores.objects.get(name="Corporate")
store_name = downtown_store.name
store_address = downtown_store.address
store_state = downtown_store.state
if request.method == 'Post':
form = StoreForm(request.POST)
if form.is_valid():
form.save(commit=True)
return HttpResponseRedirect(reverse('index'))
else:
form = StoreForm()
context = {'store_name':store_name, 'store_address':store_address, 'store_state':store_state, 'form':form,}
return render(request,'polls/index.html',context)
范本:
<html>
<body>
<h1> {{store_name}} </h1>
<h2> {{store_address}} </h2>
<h3> {{store_state}} </h3>
<form action="{% url "index" %}" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit" />
</form>
該方法必須大寫。
if request.method == 'POST':
請注意,視圖的最后兩行需要向左移動一個縮進。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.