2017-09-26 48 views
0

私はdjangoを初めて使いました。私は自分のプロジェクトを作成するのに役立つチュートリアルに従っています。私の問題は、フォームとそのフィールドがHTMLページに表示されないということです。フォームがテンプレートに表示されない

私のhtmlファイルからのコードの行

<form action="admin/signup/" method="post"> 
    <div class="form-horizontal form-label-left"> 

       {% csrf_token %} 
       {% for field in signupForm %} 
       <p> 
        {{ field.label_tag }}<br> 
        {{ field }} 
        {% if field.help_text %} 
        <small style="color: grey">{{ field.help_text }}</small> 
        {% endif %} 
        {% for error in field.errors %} 
        <p style="color: red">{{ error }}</p> 
        {% endfor %} 
       </p> 
       {% endfor %} 

       <div class="ln_solid"></div> 
       <div class="form-group"> 
        <div class="col-md-9 col-sm-9 col-xs-12 col-md-offset-4"> 
        <button class="btn btn-primary">Cancel</button> 
        <button type="submit" class="btn btn-success">Submit</button> 
        </div> 
       </div> 
       </div> 
       </form> 

私のサインアップフォームクラス

class SignUpForm(UserCreationForm): 
usertype = forms.CharField(max_length=10) 
userID = forms.CharField(label="User ID") 
class Meta: 
    model = User 
    fields = (
     'username', 'first_name', 'last_name', 'email', 
     'password1', 'password2', 'userID', 'usertype') 

と私のサインアップページビュー

def signup(request): 
    if request.method == 'POST': 
     form = SignUpForm(request.POST) 
     if form.is_valid(): 
      user = form.save() 
      user.refresh_from_db() 
      user.profile.usertype = form.clean_data.get('usertype') 
      user.profile.userID = form.clean_data.get('userID') 
      user.save() 
    else: 
     form = SignUpForm() 

    context = { 
     'signupForm' :form 
    } 
    return render(request, 'admin.html', context) 

可能な解決策と提案は感謝しています、ありがとう!

+0

「表示できない」とはどういう意味ですか?それは表示されるかどうか?何かエラーが表示されますか? – Bestasttung

+0

Pythonの人は、少なくとも(PEP8)(https://www.python.org/dev/peps/pep-0008/)(実際にはsnake_caseとCamelCaseのクラスの命名規則:インスタンス/関数/メソッドについては気にしません) –

+0

私は間違いをしていません。フォームフィールドはhtmlページに表示されません。私の質問を編集しました。コメントありがとうございました –

答えて

0

SignUpFormでインデントする必要があります。それは...ですか!!

関連する問題