2011-03-23 71 views
0

我一直在尋找使用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> 

它會什麼,我投入了電子郵件字段可正確驗證。我不知道爲什麼!?我失去了我已經放入表格的信息。我如何保留這些信息並實際進行適當的驗證。該模型表明,只需要一個非空白字符串,但沒有任何事情能滿足驗證。

感謝

+0

你確定你的文章沒有得到一個空的電子郵件字段嗎?在調用data.is_valid()之前,data.email中包含的是什麼?您可以使用模塊日誌記錄查找。 – toc777 2011-03-25 12:04:23

回答

0

看這些參考文獻等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> 

它會什麼,我投入了電子郵件字段可正確驗證。我不知道爲什麼!?我失去了我已經放入表格的信息。我如何保留這些信息並實際進行適當的驗證。該模型表明,只需要一個非空白字符串,但沒有任何事情能滿足驗證。