2017-10-11 51 views
-3
{% extends 'base.html' %} 
{% block head %} 
{% endblock head %} 
{% block body %} 
    <div> 
     <div class="container" id="outer"> 
    <div> 
     <h1>User Login Form</h1> 
    </div> 
    <div> 
     <form method="post"> 

      {% csrf_token %} 
      {{ form.as_p }} 
      <button type="submit" class="btn btn-block">Login</button> 
     </form> 
     </div> 
</div> 
</div> 
{% endblock body %} 

我在不使用forms.py的情况下制作了该代码,并且在设计forms.so时遇到了麻烦。请帮我解决我的问题。如何设计这个django表单?

+1

有什么问题?除了显示以外,你还看到了什么? –

+0

我看到一个简单的表单,只包含字段用户名和密码。我想让它看起来更好。 –

回答

0

当显示形式

{{ form.as_p }} 

你只是显示在自己的段落标记所有表单元素。

一个样式表单的方式是在自己的div来显示每个表单元素像这样,

{% for field in form %} 
    <div> 
     {{ field.errors }} 
     {{ field.label_tag }} {{ field }} 
    </div> 
{% endfor %} 

让他们在自己的div让你对他们的DISPLY更好的控制。 同样,你可以在forms.py中定义自己的类。举例来说,如果我有一个登录形式与用户名字段我可以做到以下几点

username = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control'})) 

这将创建一个看起来像这样

<div> username <input type="text" class="form-control"></div> 

然后,您可以使用样式表单的HTML元素正确的课程。更多的信息在这里:https://docs.djangoproject.com/en/1.11/topics/forms/

+0

是否有可能的风格,只有大部分的代码意味着{{form.as_p}} –

+0

我想风格只有在构建的登录表单,我从django.contrib.auth.views导入登录 –

+0

你想以什么方式风格的形式?因为{{form.as_p}}要生成表单的所有html,并且必须在forms.py中进行自定义,如图所示 – Akshya