我一直在尋找使用Django的python中的表單驗證,因爲這似乎是執行它的默認方式,除了檢查每個字段,執行一些驗證並踢出特定消息對於形成嚴重的每個領域。理想情況下,我希望獲得表單驗證的好處,但我不知道如何將這個Django方式與我通過表單顯示的.css方式相結合。谷歌應用程序引擎表單驗證在python中的css
我的表單是用CSS背後的模板HTML來處理顯示。如果出現問題,代碼將使用數據發回表單並顯示之前創建的表單。所以簡而言之,我們如何將驗證與使用css的預格式化HTML表單耦合,而無需單獨驗證。
這裏是我使用的代碼:
綜觀這些引用等http://www.djangobook.com/en/2.0/chapter07/,我一直未能拿出一個好辦法,夫妻都在一起。如果表單無效,則問題與發送表單和內容有關。所以我正在做的是將每個生成的表單逐項拉出並顯示在.html文件中。
所以我的問題是。我如何得到這個工作。現在我可以用CSS樣式表來顯示錶單,但是我似乎無法在字段中進行驗證,而且我總是生成一個錯誤。
class Quote(db.Model):
email = db.StringProperty(required=True)
class QuoteForm(djangoforms.ModelForm):
class Meta:
model = Quote
exclude = ['entry_time']
class MainPage(webapp.RequestHandler):
def get(self):
form = QuoteForm();
template_values = {}
path = os.path.join(os.path.dirname(__file__), 'index.html')
self.response.out.write(template.render(path, {'form': form}))
def post(self):
data = QuoteForm(data=self.request.POST)
if data.is_valid():
# save here
self.redirect('/Confirm.html')
else:
template_values = {}
path = os.path.join(os.path.dirname(__file__), 'index.html')
self.response.out.write(template.render(path, {'form': data}))
和.html文件的一部分就在這裏
<div>
{{ form.email.errors }}
<label for="id_email">Your e-mail address:</label>
{{ form.email }}
</div>
它會什麼,我投入了電子郵件字段可正確驗證。我不知道爲什麼!?我失去了我已經放入表格的信息。我如何保留這些信息並實際進行適當的驗證。該模型表明,只需要一個非空白字符串,但沒有任何事情能滿足驗證。
感謝
你確定你的文章沒有得到一個空的電子郵件字段嗎?在調用data.is_valid()之前,data.email中包含的是什麼?您可以使用模塊日誌記錄查找。 – toc777 2011-03-25 12:04:23