Python 使用'django'和'css'进行应用程序引擎验证`

Python 使用'django'和'css'进行应用程序引擎验证`,python,css,django,google-app-engine,Python,Css,Django,Google App Engine,看看那些参考资料等,我一直无法想出一个很好的方法把所有的东西结合在一起。问题涉及在表单无效时发回表单和内容。因此,我所做的是逐项取出每个生成的表单,并显示在.html文件中 所以我的问题是。我怎样才能让它工作呢。现在我可以用css样式表显示表单,但我似乎无法在字段上进行验证,而且我总是生成错误 class Quote(db.Model): email = db.StringProperty(required=True) class QuoteForm(djangoforms.Model

看看那些参考资料等,我一直无法想出一个很好的方法把所有的东西结合在一起。问题涉及在表单无效时发回表单和内容。因此,我所做的是逐项取出每个生成的表单,并显示在.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>

{{form.email.errors}
您的电子邮件地址:
{{form.email}

我在email字段中输入的内容不会正确验证。我不知道为什么!?我正在丢失我已经输入表格中的信息。我如何保留这些信息并实际进行适当的验证。该模型建议只需要一个非空字符串,但任何东西都不能满足验证要求。

您可以将自己的属性添加到Django用于呈现表单元素的小部件(即控件)中。这包括CSS样式的
class
属性:

class QuoteForm(djangoforms.ModelForm):
    email = EmailField(widget = TextInput(attrs={'class':'textfield'}))
    class Meta:
        model = Quote
        exclude = ['entry_time']

缺点是您需要在表单类中明确指定模型中的字段。

您可以将自己的属性添加到Django用于呈现表单元素的小部件(即控件)中。这包括CSS样式的
class
属性:

class QuoteForm(djangoforms.ModelForm):
    email = EmailField(widget = TextInput(attrs={'class':'textfield'}))
    class Meta:
        model = Quote
        exclude = ['entry_time']

缺点是需要在form类中明确指定模型中的字段。

只输出表单的一小部分,没有任何表单标记。要么你删除了相关的代码,要么你丢失了一些重要的东西。你为什么不直接用{form}输出Django生成的整个表单呢?我刚刚发布了.html文件的相关部分。.html文件中有表单标记。出于css格式的原因,我希望控制每个字段——因此,我显示每个字段的原因,其中电子邮件就是一个例子。作为指导,我在这里使用了部分引用:但我似乎无法看到如何获得所需的格式和验证。@user673600您可以使用CSS为表单设置样式,使用Django默认输出-它在每个元素上输出ID。您只输出表单的一小部分,没有任何表单标记。要么你删除了相关的代码,要么你丢失了一些重要的东西。你为什么不直接用{form}输出Django生成的整个表单呢?我刚刚发布了.html文件的相关部分。.html文件中有表单标记。出于css格式的原因,我希望控制每个字段——因此,我显示每个字段的原因,其中电子邮件就是一个例子。作为指导,我在这里使用了部分参考资料:但我似乎看不出如何获得所需的格式和验证。@user673600您可以使用CSS为表单设置样式,只要使用Django默认输出即可-它会在每个元素上输出ID。