2017-10-11 72 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