Django项目-两个应用的两个视图合二为一url如何解决

Django project - two app's two views in one url how to solve

在我的 django 项目中,我为登录用户创建了一个应用程序。 还有另一个用于注册用户的应用程序。 但是在我的 .html 模板中,注册和登录功能都在同一页面上给出,这意味着在一个 url 和一个 .html 文件中。 基本上显示这意味着我必须在一个 url 和一个 .html 文件中使用两个应用程序的两个不同视图。怎么可能
无法将它们组合在一个应用程序中,因为这两个应用程序还具有许多其他相关功能。 我应该根据 html 页面/还是一个 url 一个应用程序方法制作不同的应用程序?

一个视图不能有两个视图URL。

但是您可以创建一个视图,然后 link 对其进行 URL,然后在该视图中决定应该使用哪个函数。

如果您在一个页面中同时拥有登录和注册表单,那么您可以使用两种不同的表单,然后再决定应该使用哪个功能。

这是我为您提供的解决方案:

1 - 为您的 URL

创建一个视图

2 - 制作 2 份表格,一份用于注册,一份用于登录。

3 - 在您的模板中将名称添加到您的提交按钮,并根据它们的形式给它们一个值:

# login form
<form>
    # form fields
    <button type="submit" name="button-name" value="login">
</form>

# signup form
<form>
    # form fields
    <button type="submit" name="button-name" value="signup">
</form>

现在在您看来,您可以决定应该使用哪个函数:

if request.POST.get('button-name') and request.POST.get('button-name') == "signup":
    # signup the user
elif request.POST.get('button-name') and request.POST.get('button-name') == "login":
    # login the user

我不建议您在此视图中调用另一个视图,因为视图应呈现模板或...但我建议您为登录和注册制作 2 个不同的函数,它们可以在任何地方调用它们和根据他们的意愿决定你想做什么 return。

或者您可以在这里完成所有操作。