Skip to main content
 首页 » 编程设计

python之Django之网址模式不起作用

2024年08月15日40lexus

我昨天开始使用 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') 

任何帮助都会很棒,谢谢!!!

请您参考如下方法:

您在这里使用了错误的工具:因为 ,基本上有两种指定 URL 的方法:

  1. 使用正则表达式 re_path [Django-doc] , url [Django-doc]是这个的“别名”,但最终可能会被弃用;和
  2. 通过对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"); 
]