我昨天开始使用 Django,但遇到了一些错误。我在互联网上搜索,但找不到我的问题的答案。我制作了主应用程序,然后制作了一个小应用程序并尝试将其链接到主应用程序。这是我的代码
urls.py
from django.contrib import admin
from django.urls import path, include
ulrpatterns = [
path('admin/', admin.site.urls),
path('^$', include('personal.urls'));
]
在我的personal.urls中我有
from django.urls import path, include
from . import views
ulrpatterns = [
path('^$', views.index, name="index");
]
在views.index中我有
def index(request):
return render(request, 'personal/home.html')
任何帮助都会很棒,谢谢!!!
最佳答案
您在这里使用了错误的工具:因为 django-2.0 ,基本上有两种指定 URL 的方法:
- 使用正则表达式
re_path
[Django-doc] ,url
[Django-doc]是它的“别名”,但最终可能会被弃用;和 - 通过使用
path
[Django-doc] 的特定“路径模式”语法
在这里,您以某种方式混合了两者,并使用path(..)
函数作为“正则表达式指定”的URL。
对基于路径模式的网址使用path
我们还可以使用path
来修复它:
# urls.py
from django.contrib import admin
from django.urls import <b>path</b>, include
ulrpatterns = [
<b>path</b>('admin/', admin.site.urls),
<b>path</b>('', include('personal.urls'));
]
和:
# personal/urls.py
from django.urls import <b>path</b>, include
from . import views
ulrpatterns = [
<b>path</b>('', views.index, name="index");
]
对基于正则表达式的网址使用 re_path
我们还可以使用 re_path
来修复它:
# urls.py
from django.contrib import admin
from django.urls import <b>re_path</b>, include
ulrpatterns = [
<b>re_path</b>('admin/', admin.site.urls),
<b>re_path</b>('^$', include('personal.urls'));
]
和:
# personal/urls.py
from django.urls import <b>re_path</b>, include
from . import views
ulrpatterns = [
<b>re_path</b>('^$', views.index, name="index");
]
关于python - Django - URL 模式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52063943/