Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django3中的URL模式_Python_Django_Url - Fatal编程技术网

Python Django3中的URL模式

Python Django3中的URL模式,python,django,url,Python,Django,Url,我对Django真的是一个新手,一直停留在一级。我的问题是URL映射 我有以下文件树: Mymyproj2>url.py具有以下代码 from django.contrib import admin from django.urls import path, include from myproj2_app import views urlpatterns = [ path('admin/', admin.site.urls), path('', views.index,

我对Django真的是一个新手,一直停留在一级。我的问题是URL映射

我有以下文件树:

My
myproj2>url.py
具有以下代码

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


urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.index, name='index'),
    path('help/', include('myproj2_app.urls')),
]
我的
myproj2>myproj2_app>url.py
有以下代码:

from django.conf.urls import url
from . import views

urlpatterns = [
    url('', views.index, name='index'),
    url('help/', views.help, name='help'),
]
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.

def index(request):
    return HttpResponse("Hello This is my myproj2")

def help(request):
    print("Getting to get help at least")
    help_dict = {'help_insert' : 'HELP PAGE '}
    return render(request, 'myproj2_app/help.html', context = help_dict)
My
myproj2>myproj2_app>views.py
具有以下代码:

from django.conf.urls import url
from . import views

urlpatterns = [
    url('', views.index, name='index'),
    url('help/', views.help, name='help'),
]
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.

def index(request):
    return HttpResponse("Hello This is my myproj2")

def help(request):
    print("Getting to get help at least")
    help_dict = {'help_insert' : 'HELP PAGE '}
    return render(request, 'myproj2_app/help.html', context = help_dict)
我的主
myproj2
文件夹中有一个文件夹
templates
。在
templates
文件夹中,我有
myproj2_app
文件夹,然后我有两个HTML文件。一个是
index.html
,另一个是
help.html

我想请求
http://127.0.0.1:8000/help/
并使用
{{help\u insert}}
模板标记查看我的简单帮助文本


您能告诉我如何实现它吗?

您需要为属于myproj2_应用程序的URL定义一个子路径。根URL配置:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.index, name='index'),
    path('myproj/', include('myproj2_app.urls')),
]
还可以编辑myproj2_应用程序的URLconf,如下所示:

from . import views
from django.urls import path, re_path

urlpatterns = [
    re_path(r'^help/$',  views.help, name='help'),
    re_path(r'^$', views.index, name='index'),
]
现在,您可以通过以下链接访问帮助:

http://127.0.0.1:8000/myproj/help/ 

要访问
{{help\u insert}}
请尝试
http://127.0.0.1:8000/help/help/
您是否阅读了包含URLConf的文档?我已经读过了,但我不能理解。我需要某人的帮助,他可以让我理解为什么会发生这种情况,以及如何使它正常工作。我尝试了它,但我在路径中键入的所有内容都只返回相同的索引页。我试过,也试过,但都返回主页检查我的答案,然后再试一次:)谢谢,成功了。这意味着我只需要使用re-path()而不是path!!