如何通过一个请求使用 Django 应用程序路由索引?

How to routing Index using Django app with one request?

我给自己做了一个不错的 Django 小应用程序,但我最近明白当请求索引页面时,向 Django 发送了 2 个请求,我发现问题出在哪里,但我没有任何解决方案。

项目urls.py:

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

我的应用urls.py:

app_name = 'myapp'
urlpatterns = [
    path('', views.index, name='index'),
]

当我请求:http://127.0.0.1:8000,首先 Django 检查这一行:

path('', include('myapp.urls', namespace='myapp')),

在映射 myapp url 之后,检查这一行:

path('', views.index, name='index'),

所以 2 个请求已处理,如控制台所示:

[06/Jul/2018 14:28:59] "GET / HTTP/1.1" 200 11904
[06/Jul/2018 14:28:59] "GET / HTTP/1.1" 200 11904

如何解决这个问题?有人知道吗?

你项目中的路径是在你的路由器中设置你的链Url树

path('', include('myapp.urls', namespace='myapp')),

表示“”路径中的每个请求都将由 myapp urls 处理

path('', views.index, name='index'),

表示“/”路径将由索引视图处理

示例:

path('blog', include('blog.urls', namespace='blog')),
path('chat', include('chat.urls', namespace='chat')),

使用该代码,您可以将树设置为

|_ blog
|_ chat

在你的blog.url

path('post', views.post, name='post'),
path('comment', views.comment, name='comment'),

在你的chat.url

path('room', views.room, name='room'),
path('message', views.message, name='message'),

会给你这棵树

|_ blog
|____ post
|____ comment
|_ chat
|____ room
|____ message

所以.... /blog/post/ 和 /chat/room/

该设置不会使您的应用程序在同一 url 中执行多个请求。

执行 cUrl 或使用 PostMan 发送一个请求,以检查您的服务器是否收到 1 个或多个请求...如果它只收到一个请求,问题是你的模板周围有东西,也许有东西调用它两次,也许 ajax...