python - 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 文件并添加该页面的路径?那条路会是什么样子?
我正在尝试自学一切,所以让我知道是否存在一些信息空白。谢谢。
解决方案
如主要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 views
import 语句中保留用户应用程序的 urls.py
目录。
此外,如果要导入特定视图,只需使用from user.views import foo_user_view
在此之后,您将能够通过以下方式访问您的用户应用程序的视图:
- https://localhost:8000/user/foo/
- https://localhost:8000/user/bar/
推荐阅读
- python - 运行dgoss测试时如何输出docker控制台输出
- google-cloud-platform - 使用 oidc_token 从谷歌云任务调用谷歌云函数
- java - JSP 在 Spring Boot 2 中不呈现 java 列表
- javascript - 如何使用 Yargs 实现多个子命令?
- php - 为什么在发送发布请求时在 laravel 6 中显示错误 419“页面已过期”?
- terraform - 在 Terraform 中的模块之间提供依赖关系
- php - 强制https。在 htaccess 上返回文件列表。如何解决?
- git - 使用基于 Google Cloud Platform Compute Engine VM 的远程 git 存储库的最佳方式是什么?
- python - 用python显示后台运行程序的窗口
- javascript - 为什么在 jQuery 单击事件触发我的 es6 类函数之一后我的其他类函数和变量变得未定义