我昨天开始使用 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(..) 函数用于“regex-specified”URL。
对基于路径模式的 URL 使用路径
我们也可以使用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");
]
对基于正则表达式的 URL 使用 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");
]
