2017-05-25 12 views
1

私はエラージャンゴ:materializecssとforms.pyで選択フィールドを追加する方法を

forms.py

を得ているHTMLのselectタグを見ることができるようにしたいforms.pyを持っています
class ArticleForm(ModelForm): 

     class Meta: 

      STATUS_CHOICES = (
       ('d', 'Draft'), 
       ('p', 'Published'), 
      ) 
      model = Article 
      fields = (
       'title', 'description', 
       'article_header_image', 'status', 
       ) 

models.py

class Article(TimeStampedModel): 
    """ 
    Article model. 
    """ 
    STATUS_CHOICES = (
     ('d', 'Draft'), 
     ('p', 'Published'), 
    ) 
    title = models.CharField('title', max_length=150) 
    description = models.TextField('content') 
    status = models.CharField('article status', max_length=1, 
           choices=STATUS_CHOICES, blank=True, null=True, default='p') 
    article_header_image = models.ImageField(
      upload_to="artice__header_image/%Y/%m/%d" 
      ) 

create.html

<form method="post" enctype="multipart/form-data"> 
     {% csrf_token %} 
     {{ form.as_p }} 
     <input class="btn" type="submit" value="Create" /> 
    </form> 

私はHTML上でselectタグが表示されていない

htmlソース

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>Django Class Based Views Rock</title> 
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/materialize/0.98.2/css/materialize.min.css"> 
    <style> 
     .title { 
     text-align: center; 
     font-weight: 200; 
     } 
    </style> 
    </head> 
    <body> 

     <div class="container"> 

    <h3 class="title">Create New Article</h3> 
    <form method="post" enctype="multipart/form-data"> 
     <input type='hidden' name='csrfmiddlewaretoken' value='V6IJWF7lceEbe8pT4yN7GaCqgHnbZsbgpFWTcH9dwxzpNZzX2GFKILzpMyvs5Fls' /> 
     <p><label for="id_title">Title:</label> <input id="id_title" maxlength="150" name="title" type="text" required /></p> 
<p><label for="id_description">Content:</label> <textarea cols="40" id="id_description" name="description" rows="10" required> 
</textarea></p> 
<p><label for="id_article_header_image">Article header image:</label> <input id="id_article_header_image" name="article_header_image" type="file" required /></p> 
<p><label for="id_status">Article status:</label> <select id="id_status" name="status"> 
<option value="">---------</option> 
<option value="d">Draft</option> 
<option value="p" selected="selected">Published</option> 
</select></p> 
     <input class="btn" type="submit" value="Create" /> 
    </form> 

     </div> 

    <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.6/js/materialize.min.js" /> 
    </body> 
</html> 
+0

を使用してラップ「選択したフィールドがHTMLで表示されるはずです –

+0

あなたのエラーは何ですか? –

+0

私は選択したフォームは表示されませんが、ソース上にあります –

答えて

1

あなたはMaterializecssあなたが.inputフィールドクラスでそれをラップしたいその後、選択表示させたい場合はform

ますここには2つのオプションがあります。

  1. {{form.status}}を使用して

    使用個々のフォームタグは、.input-fieldのdivクラス

    <div class="input-field"> 
        {{ form.status }} 
    </div> 
    
  2. それとも `フィールドで` status`を追加django-materializecss-form

+0

django-materializecss形式で選択すると機能しません。私は個人を試してみる –

関連する問題