Django基础3:配置url 【Django开发05】

Django提供了三种方法配置url

Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""

1、使用函数配置url

1、首先需要import 我所创建的APP的views.py文件即

import mm.views

2、在url中配置path,是你在APP.views中定义的用于响应的函数,有3个参数,第一个是url本身,也就是地址,注意在写URL的时候做好默认在url后面加/,这样会减少出错的可能性,第二个参数就是该url地址对应的函数,也就是在mm.views中创建的响应函数

对应的url配置应该这样写

第三个参数是url的名称,可以不配置。

以上代码完成,在terminal中跳转到程序目录执行python3 manage.py runserver,正常运行点击提示网址即可看到HelloWorld。

更常用的方法:包含其他url的配置文件

在项目文件变得非常庞大时,app会非常多,使用上面的第一种方法会使得文件变得非常庞大,而且也增加了url各种命名的冲突的风险,为了避免这种情况,往往推荐使用另一种方法配置url,也就是第三个方法,使用其他的url来配置。

1、在urls.py中引入include()

from django.urls import path,include

2、将前面的方法中提到的mv.index改为include('mysite.urls')

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', include('mm.urls'))
]

3、在APP目录下创建urls.py文件,格式与urls.py相同

注意到现在mm文件夹下是没有urls这个model的,所以我们需要在mm文件夹下新建一个urls.py 然后我们把在上一种方法中配置url写进去。

from django.urls import path,include
from mm import views
urlpatterns = [
    path('index', views.index),

]

运行程序,访问127.0.0.1:8080/index/index/则可访问地址,urls.py中配置的是该APP的所有url的总路径,所以是两个index,如果只想要一个index则把mm文件下url中的index/去掉

from django.urls import path,include
from mm import views
urlpatterns = [

    path('', views.index),

]

注意事项

  1. 在旧版本的django中,还需要对path使用正则表达式进行约束,否则会出现在链接后随意加后缀名也返回当前页面的情况,需要写成
    path(r'^$', views.index)
    使用^$确保在后面没有后缀名的情况下才显示当前页面
  2. 配置URL时注意以‘/’结尾,养成习惯

 

以上方法都是基于django中app内有函数的方法,现在拓展另一种方法,不需要编写函数返回。

urls.py

from django.views.generic import TemplateView
urlpatterns = [
    path('admin/', xadmin.site.urls),
    path('',include('users.urls')),#方法3
    path('register/',TemplateView.as_view(template_name="register.html"))#不需要函数返回
]

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学渣王菜菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值