首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >注册表单字段没有呈现Django

注册表单字段没有呈现Django
EN

Stack Overflow用户
提问于 2022-08-31 11:48:10
回答 1查看 18关注 0票数 0

这是我的密码

在Urls.py中

代码语言:javascript
运行
复制
from django.contrib.auth import authenticate, login, logout
from .forms import CustomUserCreationForm
def registeruser(request):
form = CustomUserCreationForm()
if request.method == "POST":
    form = CustomUserCreationForm(request, POST)
    if form.is_valid():
        user = form.save(commit=False)
        user.save()
        user = authenticate(request, username=user.username,  password=request.POST['password'])
        if user is not None:
            login(request, user)
            return redirect('home')
context = {'form' : form}
return render(request, 'signup.html', context)
urlpatterns = [
 path('signup/', registeruser, name='signup'), 
]

在forms.py中

代码语言:javascript
运行
复制
from django.forms import ModelForm
from django.contrib.auth.models import User 
from django.contrib.auth.forms import UserCreationForm

class CustomUserCreationForm(UserCreationForm):
  class Meta:
    model = User
    fields = ['username', 'password1', 'password2']
    def __init__(self, *args, **kwargs):
    super(CustomUserCreationForm, self).__init__(self, *args, **kwargs)
self.fields['username'].widget.attrs.update({'class' : 'form-control', 'placeholder' : 'Enter Username'})
    self.fields['password1'].widget.attrs.update({'class' : 'form-control', 'placeholder' : 'Enter Password'})
    self.fields['password2'].widget.attrs.update({'class' : 'form-control', 'placeholder' : 'Re-Enter Password'})

在Signup.html中

代码语言:javascript
运行
复制
  <form class="text-left clearfix" method="POST">
        {% csrf_token %}
        {% for field in forms %}
          <div class="form-group">
          {{field}}
          </div>
        {% endfor %}
        <div class="text-center">
          <button type="submit" class="btn btn-main text-center">Sign UP</button>
        </div>
      </form>

结果是注册页面图像,我尝试了很多设置,但在注册页面上没有输入字段。它只是没有任何效果。请帮帮我,我做错什么了?

EN

回答 1

Stack Overflow用户

发布于 2022-09-01 00:20:53

与其使用for loop,不如只使用form

代码语言:javascript
运行
复制
#view.py
return render(request, 'signup.html', {'form': form})

#signup
<form class="text-left clearfix" method="POST">
     {% csrf_token %}
     {{ form.as_p }}
     <input type="submit" class="btn btn-main text-center" value="Sign UP">
</form>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73555424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档