首页 > 解决方案 > Python Django 如何从一个应用程序交互和链接到另一个应用程序?

问题描述

我使用 Django 的用户模型创建了一个名为“用户”的应用程序,它具有所有登录、注册和注销(用户/登录、用户/注册、用户/注销)逻辑。如果用户登录,我如何将他们重定向到不同的应用程序,例如“帖子”,他们可以在其中查看不同帖子的列表?这是主要的 urls.py 文件:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('user/', include("user.urls")),
]

另外,如果我想为主索引页面创建一个视图,我是否在主文件夹中创建一个 views.py 文件并添加该页面的路径?那条路会是什么样子?

我正在尝试自学一切,所以让我知道是否存在一些信息空白。谢谢。

标签: pythondjango

解决方案


如主要url.py默认评论部分所述:

"""
[...]
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""

例子

这是您的主要内容url.py

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('user.urls'))
]

在您的用户应用程序目录中创建一个新文件urls.py,其名称如下:

from django.urls import path
from . import views

urlpatterns = [
    path('user/foo/', user.foo_user_view, name='foo_url_name'),
    path('user/bar/', user.bar_user_view, name='bar_url_name'),
]

注意.from . import viewsimport 语句中保留用户应用程序的 urls.py目录。

此外,如果要导入特定视图,只需使用from user.views import foo_user_view

在此之后,您将能够通过以下方式访问您的用户应用程序的视图:

  • https://localhost:8000/user/foo/
  • https://localhost:8000/user/bar/

推荐阅读