Python 如何在一个模板中放置两个视图?德扬戈

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:

为了在一个视图中放置多个表单,我们使用request.POST.get(表单的名称参数),但是当我使用我的注册和登录页面进行此操作时,登录页面会工作,但是我看不到注册表单。问题是检查请求是否是POST,然后返回每个案例的结果

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}}

很难确定您的问题是什么。当然可以有两个视图渲染同一模板,也可以在同一模板中渲染两个表单。您是否可以尝试以不同的方式描述问题(例如,用户可能采取的行动、他们应该看到的内容、他们实际看到的内容等)?