2017-07-31 5 views
0

私はDjangoでウェブサイトを作成しようとしていますが、ユーザ登録フォームに固執しています。ボタンをクリックして登録フォームに移動すると、それは私をうまくリダイレ​​クトしますが、何らかの理由でフォームが表示されません。カスタムユーザフォームの問題 - Django

以下にHTMLとviews.pyを含めます。

{% for field in form %} 
    <div class="form-group"> 
    <div class="col-sm-offset-2 col-sm-10"> 
     <span class="text-danger small">{{field.errors }}</span> 
    </div> 
     <label class="control-label col-sm-2">{{ field.label_tag }}</label> 
    <div class="col-sm-10">{{ field }}</div> 
    </div> 
{% endfor %} 

form_template.html

views.py

from django.shortcuts import render, redirect 
from django.contrib.auth import authenticate, login 
from django.views import generic 
from django.views.generic.edit import CreateView 
from django.views.generic import View 
from .forms import UserForm 

def index(request): 
    return render(request, 'personal/home.html') 


class UserFormView(View): 
    form_class = UserForm 
    template_name = 'personal/registration_form.html' 

    #display blank form 
    def get(self, request): 
     form = self.form_class(None) 
     return render(request, self.template_name, {'form': form}) 
    # process form data 
    def post(self, request): 
     form = self.form_class(request.POST) 
     if form.is_valid(): 

     user = form.save(commit=False) 

     #cleaned (normalized) data 
     username = form.cleaned_data['username'] 
     password = form.cleaned_data['password'] 
     user.set_password(password) 
     user.save() 

     #returns User objects if credentials are correct 
     user = authenticate(username=username, password=password) 

     if user is not None: 
      if user.is_active: 
       login(request, user) 
       return redirect('personal:index') 

    return render(request, self.template_name, {'form':form}) 

registration_form.html

{% extends 'personal/header.html' %} 

{% block body %} 

<div class="container-fluid"> 

<div class="row"> 

     <div class="col-sm-12 col-md-7"> 

     <div class="panel panel-default"> 

      <div class="panel-body"> 



       <form class="form-horizontal" action="" method="post" enctype="multipart/form-data"> 

        {% csrf_token %} 

        {% include 'personal/form-template.html' %} 

        <div class="form-group"></div> 

         <div class="col-sm-offset-2 col-sm-10"> 

         <button type="submit" class="btn btn-success">Submit</button> 



         </div> 

       </form> 



      </div> 



     </div> 



    </div> 



</div> 

</div> 

{% endblock %} 

私は思いません問題がどこにあるのか確かめてください。助けてください!!!ここで

は、バックグラウンドでサーバーは奇妙な演技...

System check identified no issues (0 silenced). 
July 31, 2017 - 20:13:06 
Django version 1.11.2, using settings 'mysite.settings' 
Starting development server at http://127.0.0.1:8000/ 
Quit the server with CTRL-BREAK. 
[31/Jul/2017 20:13:34] "GET/HTTP/1.1" 200 2981 
Not Found: /https 
[31/Jul/2017 20:13:34] "GET /https HTTP/1.1" 404 2564 
[31/Jul/2017 20:13:36] "GET /register/ HTTP/1.1" 200 2809 
Not Found: /register/https 
[31/Jul/2017 20:13:36] "GET /register/https HTTP/1.1" 404 2591 
[31/Jul/2017 20:19:28] "GET /blog/ HTTP/1.1" 200 2954 
Not Found: /blog/https 
[31/Jul/2017 20:19:28] "GET /blog/https HTTP/1.1" 404 2800 
[31/Jul/2017 20:19:35] "GET /blog/1 HTTP/1.1" 200 2906 
Not Found: /blog/https 
[31/Jul/2017 20:19:35] "GET /blog/https HTTP/1.1" 404 2800 
[31/Jul/2017 20:19:54] "GET/HTTP/1.1" 200 2981 
Not Found: /https 
[31/Jul/2017 20:19:54] "GET /https HTTP/1.1" 404 2564 
[31/Jul/2017 20:20:04] "GET /register/ HTTP/1.1" 200 2809 
Not Found: /register/https 
[31/Jul/2017 20:20:04] "GET /register/https HTTP/1.1" 404 2591 
[31/Jul/2017 20:20:50] "GET /blog/ HTTP/1.1" 200 2954 
Not Found: /blog/https 
[31/Jul/2017 20:20:51] "GET /blog/https HTTP/1.1" 404 2800 
[31/Jul/2017 20:21:01] "GET /register/ HTTP/1.1" 200 2809 
Not Found: /register/https 
[31/Jul/2017 20:21:01] "GET /register/https HTTP/1.1" 404 2591 
[31/Jul/2017 20:21:47] "GET/HTTP/1.1" 200 2981 
Not Found: /https 
[31/Jul/2017 20:21:47] "GET /https HTTP/1.1" 404 2564 

ベースHTMLファイル

がheader.html

<!DOCTYPE html> 
<html lang="en"> 

{% load staticfiles %} 
    <link rel="stylesheet" href="https"//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> 
    <link href="https://fonts/googleapis.com/css?family=Satisfy' rel="stylesheet' type='text/css'> 
    <link rel="stylesheet" type="text/css" href="{% static 'personal/css/style.css' %}"/> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js:></script> 
    <script src="http://maxcdn.bootstrapcdn.com/boostrap/3.3.6/js/bootstrap.min.js"></script> 

<head> 
    <title>rheto</title> 
    <meta charset="utf-8" /> 
    {% load staticfiles %} 
    <link rel="stylesheet" href="{% static 'personal/css/bootstrap.min.css' %}" type = "text/css"/> 
    <meta name="viewport" content = "width=device-width, initial-scale=1.0"> 

    <style type="text/css"> 
     html, 
     body { 
      height:100% 
     } 
    </style> 
</head> 


<nav class="navbar navbar-inverse"> 
    <div class="container-fluid"> 
     <div class="navbar-header"> 
     <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#topNavBar"> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     </button> 
     <a class="navbar-brand" href="/">rheto</a> 
    </div> 

    <div class="collapse navbar-collapse" id="topNavBar"> 
     <ul class="nav navbar-nav"> 
      <li class=""> 
      <a href="/blog/"> 
       <span class="glyphicon glyphicon-thumbs-up" aria-hidden="true"></span><strong>Debate</strong> 
       <span class="glyphicon glyphicon-thumbs-down" aria-hidden="true"></span> 
      </a> 
     </li> 
     </ul> 

     <form class="navbar-form navbar-left" role="search" method="get" action="#"> 
     <div class="form-group"> 
      <input type="text" class="form-control" name="q" value=""> 
     </div> 
     <button type="submit" class="btn btn-default">Search</button> 
     </form> 

     <ul class="nav navbar-nav navbar-right"> 
     <li class=""> 
      <a href="/register/"> 
       <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>&nbsp; <strong>Sign Up</strong> 

      </a> 
     </li> 
     <li class=""> 
      <a href="#"> 
       <span class="glyphicon glyphicon-off" aria-hidden="true"></span>&nbsp; <strong>Logout</strong> 

      </a> 
     </li> 
     </ul> 

    </div> 


    </div> 
</nav> 
<body class="body" style="background-color:#F0FFFF"> 
    <div class="container-fluid" style="min-height:95%; "> 


     <div class="row"> 
      <div class="col-sm-2"> 
      <br> 

      <br> 
      <!-- Great, til you resize. --> 
      <!--<div class="well bs-sidebar affix" id="sidebar" style="background-color:#fff">--> 


      <div class='container-fluid'> 
      <br><br> 
       {% block content %} 
       {% endblock %} 
      </div> 
      </div> 
     </div> 
    </div> 
    <footer> 
     <div class="container-fluid" style='margin-left:15px'> 
      <p>Created by Morty Suckerburdsen</p> 
     </div> 
    </footer> 

</body> 

</html> 

個人/ urls.pyもあります

あなたは次のことを試みることができる

サイト/ urls.py

from django.conf.urls import url, include 
from django.contrib import admin 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^', include('personal.urls')), 
    url(r'^blog/', include('blog.urls')), 
    ] 

答えて

0

:アプリがsettings.INSTALLED_APPSに記載されてい

  1. チェック。
  2. urls.pyにこのビューを示すエントリがあることを確認してください。
  3. あなたがそれを打つしていることを確認するgetメソッドにブレークポイントを置く - import ipdb; ipdb.set_trace()
0

問題は、あなたのregistration_form.html template.your actionパラメータであるempty.youがあなたのactionパラメータに任意のurlに合格しなかったです

フォームactionパラメータが必要ですフォームaction=''パラメータにurl .pass url

<form class="form-horizontal" action="{% url 'UserFormView_url_here' %}" method="post" enctype="multipart/form-data"> 
+0

ちょっと、私は/ register /とpersonalの両方としてurlを追加しようとしました。私は、registration_formの最上位に含まれるベースHTMLを投稿するつもりです、私はその問題がその中にあるかもしれないと思います。 –

+1

@scottmあなたの 'urls.py'を貼り付けてください。 –

+0

私は両方を加えました!ご協力いただきありがとうございます! –