簡體   English   中英

Django表單數據未保存到數據庫(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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM