我已经使自己成为一个不错的Django小应用程序,但是最近我了解到当请求索引页,向Django发送2个请求时,我发现问题出在哪里,但我没有任何解决方案。
项目urls.py:
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('myapp.urls', namespace='myapp')),
]
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网址之后,检查以下行:
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
如何解决这个问题?有人知道吗?
答案 0 :(得分:1)
您的项目中的路径是在路由器中设置您的Chain Url树
path('', include('myapp.urls', namespace='myapp')),
告诉“”路径上的每个请求都将由myapp网址处理
同时
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中执行多个请求。
执行 Currl或使用PostMan发送一个请求,以检查您的服务器是否收到1个或多个请求 ...如果仅接收到一个请求,则问题出在模板周围,也许是调用它两次,也许是ajax ...