Python 如何在一个模板中放置两个视图?德扬戈
为了在一个视图中放置多个表单,我们使用request.POST.get(表单的名称参数),但是当我使用我的注册和登录页面进行此操作时,登录页面会工作,但是我看不到注册表单。问题是检查请求是否是POST,然后返回每个案例的结果Python 如何在一个模板中放置两个视图?德扬戈,python,django,Python,Django,为了在一个视图中放置多个表单,我们使用request.POST.get(表单的名称参数),但是当我使用我的注册和登录页面进行此操作时,登录页面会工作,但是我看不到注册表单。问题是检查请求是否是POST,然后返回每个案例的结果 def index(request): # login view if request.user.is_authenticated: return render(request, 'authenticated.html') else:
def index(request): # login view
if request.user.is_authenticated:
return render(request, 'authenticated.html')
else:
if request.method == 'POST':
username = request.POST['username']
password = request.POST['password']
user = auth.authenticate(username=username, password=password)
if user is not None:
auth.login(request, user)
return redirect('index')
else:
messages.error(request, 'Username or password is incorrect, try again!')
return render(request, 'index.html')
def register(request):
if request.method == 'POST':
form = UserRegisterForm(request.POST or None)
if form.is_valid():
form.clean_email()
form.save()
username = form.cleaned_data.get('username')
messages.success(request, f'Successfully created account for {username}')
return redirect('index')
else:
form = UserRegisterForm()
return render(request, 'users/register.html', {'form': form})
用于登录和注册的Html
<form method="post" name="login">
{% csrf_token %}
<input type="text" name="username" placeholder="username">
<input type="password" name="password" placeholder="password">
<input type="submit" value="Login Yeah!">
</form>
<form method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Sign Up">
</form>
{%csrf_令牌%}
{%csrf_令牌%}
{{form}}
很难确定您的问题是什么。当然可以有两个视图渲染同一模板,也可以在同一模板中渲染两个表单。您是否可以尝试以不同的方式描述问题(例如,用户可能采取的行动、他们应该看到的内容、他们实际看到的内容等)?