python - Django - URL 模式不起作用

标签 python django url

我昨天开始使用 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(..)函数作为“正则表达式指定”的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/

相关文章:

python - python中包的全局变量可以被认为是邪恶的吗?

python - 如何解决 ConnectionRefusedError : [WinError 10061] the target machine actively refused it? (Django SMTP)

javascript - 向下滚动单个页面时是否可以更改网址

python - 记忆化使用/缓存存储

python - 变分自动编码器实现

python 在 mac os 10.10.1 上安装 lxml

html - 使网站加载速度更快

django - 从我的Django应用容器中获取主机IP

php - 防止将链接添加到另一个链接

ruby-on-rails - Ruby on Rails - 在 URL 中隐藏 user_id