这是我的密码
在Urls.py中
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中
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中
<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>结果是注册页面图像,我尝试了很多设置,但在注册页面上没有输入字段。它只是没有任何效果。请帮帮我,我做错什么了?
发布于 2022-09-01 00:20:53
与其使用for loop,不如只使用form。
#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>https://stackoverflow.com/questions/73555424
复制相似问题