关于django,页面url地址的设置

Django URL配置解析
本文详细解析了Django中URL配置的重要性,特别是针对/index/和/index两种情况下的URL匹配规则,强调了在index.html文件中链接应如何正确书写以确保与后端视图的正确映射。

关于django,页面url地址的设置

下面说一下我对url地址设置理解

先来说一下大致的流程:

在这里插入图片描述 这是简单的目录结构。看下面的这个定义

在这里插入图片描述
在这里插入图片描述
注意这里的 index 匹配, 无论是 index/ 还是 index , index.html 里面 必须是 /create

<a href="/create">新增</a>    : 得到连接都是  http://127.0.0.1:8000/index/  也就是html里面连接 填写 /create,系统是自动添加 域名和端口(http://127.0.0.1:8000/) 然后拼接 index.html 里面的 create成为新连接去访问


但是 如果只写成 <a href="create">新增</a>   当这里匹配的是 index/  那么就会默认 带着 http://127.0.0.1:8000/index/ 过来拼接。 似乎django是 以结尾 / 来判断 带哪些东西来 index.html 里拼装 url的。 所以因为这里是 index/ 结尾,所以拿着 http://127.0.0.1:8000/index/ 
最终拼接成新连接为: http://127.0.0.1:8000/index/creat   那么   /index/creat 在  里面的就是  url(r'delete(\d+)$', views.delete) ,就会匹配不到,然后报错。

在这里插入图片描述
所以以后开发过程中,index.html 里面的连接 都要加 / 开头 ,例如 /create 。

### Django URL 配置概述 在Django中,URL配置用于定义Web应用程序的路由规则。通过这些规则,可以指定哪些URL路径映射到特定视图函数或类[^1]。 #### 定义URL模式 `urlpatterns` 是一个包含 `path()` 或 `re_path()` 函数调用的列表,每个条目都对应着网站中的某个页面或功能。对于现代版本的Django推荐使用 `path()` 而不是旧式的正则表达式方式。 ```python from django.urls import path from . import views urlpatterns = [ path('example/', views.example_view, name='example'), ] ``` 此代码片段展示了如何创建简单的URL模式来匹配 `/example/` 这样的地址,并将其指向名为 `example_view` 的视图处理程序。 #### 包含应用级URLconf 当项目中有多个独立的应用时,在主项目的 `urls.py` 文件里可以通过 `include()` 来引入各个子应用自己的URL配置文件[^2]: ```python from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('app_name/', include('my_app.urls')), # 将请求转发至 my_app 应用下的 urls.py 处理 ] ``` 这里假设有一个叫作 `my_app` 的应用,其内部也有自己的一套URL配置逻辑,则可以在上述例子的基础上轻松实现模块化管理不同部分的功能。 #### 实际案例展示 考虑这样一个场景:在一个名为 `chapter02_DjangoSettings` 的应用内存在一个视图方法 `chapter02_django_settings` ,那么对应的URL配置可能看起来像下面这样[^3]: ```python # chapter02_DjangoSettings/urls.py from django.urls import path from .views import chapter02_django_settings urlpatterns = [ path('', chapter02_django_settings, name="settings"), ] # project_root_directory/urls.py (项目根目录下) from django.contrib import admin from django.urls import include, path urlpatterns = [ ... path('chapter02/', include('chapter02_DjangoSettings.urls')), ... ] ``` 这段配置使得访问类似于 http://localhost:8000/chapter02/ 的链接会被传递给 `chapter02_django_settings` 方法进行进一步处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值