簡體   English   中英

Django Auth:“此字段為必填”

[英]Django Auth: “This field is required”

我想將自己的表單集成到django Auth系統中。 它總是拋出一個錯誤:

登錄名此字段為必填項。 密碼此字段為必填項。

if request.method == 'POST':上設置調試點不起作用(頁面啟動/加載除外)。

settings.py:

AUTH_USER_MODEL = 'Immo.ImmoUser'

ImmoUser類別:

from django.contrib.auth.models import AbstractUser

class ImmoUser(AbstractUser):
    pass

形成:

<form class="form-signin" action="index" method="post" style="/*! height: 100%; */margin-top: 20%;">
  <img class="mb-4" src="{% static 'Immo/images/houses.png' %}" style="background-color: black; padding: 5px;border-radius: 10px;" alt="" width="72" height="72">
  <h1 class="h3 mb-3 font-weight-normal">Please sign in</h1>

  {% csrf_token %}

     {{ form.errors }}
  <label class="sr-only" for="{{ form.username.auto_id }}">{{ form.username.label }}:</label>

     <input id="{{ field.username }}" class="form-control" style="margin-bottom:3px;" autofocus="" placeholder="Login*" required="" type="text">


  <label class="sr-only" for="{{ form.password.auto_id }}">{{ form.password.label }}:</label>
     <input id="{{ field.password }}" class="form-control" style="margin-bottom:3px;" autofocus="" placeholder="Password*" required="" type="password">


  <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
  <p class="mt-5 mb-3 text-muted">© 2017-2018</p>
</form>

views.py:

def mylogin(request):
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username, password=raw_password)
            return redirect('Immo/user/index')
    else:
        form = UserCreationForm()
    return render(request, 'Immo/index.html',  {'form': form} )

編輯:這有效:

<form class="form-signin" action="index" method="post" style="/*! height: 100%; */margin-top: 20%;">
  <img class="mb-4" src="{% static 'Immo/images/houses.png' %}" style="background-color: black; padding: 5px;border-radius: 10px;" alt="" width="72" height="72">
  <h1 class="h3 mb-3 font-weight-normal">Please sign in</h1>

  {% csrf_token %}

 {{ form.errors }}
  <label class="sr-only" for="{{ form.login.auto_id }}">{{ form.login.label }}:</label>

     <input name="login" id="{{ form.login.auto_id }}" class="form-control" style="margin-bottom:3px;" autofocus="" placeholder="Login*" required="" type="text">


  <label class="sr-only" for="{{ form.password.auto_id }}">{{ form.password.label }}:</label>
     <input name="password" id="{{ form.password.auto_id }}" class="form-control" style="margin-bottom:3px;" autofocus="" placeholder="Password*" required="" type="password">


  <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
  <p class="mt-5 mb-3 text-muted">© 2017-2018</p>
</form>

您在inputs中缺少屬性名稱

 <input name="username" ...>

 <input name="password" ...>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM