004. urls分发器

深入学习Django,强烈推荐视频教程《超详细讲解Django打造大型企业网站》

==========================我是华丽的分割线===================================

视图

我们的业务一般都写在 app 下的 views.py 里面,核心内容就是,定义一个函数,函数的参数必须是request对象,最后return一个HttpResponse对象或者继承自HttpResponse的对象,记住这几个要素就ok了,我们看第一个 demo:

from django.http import HttpResponse

def index(request):

        return HttpResponse("这个是首页")


URL 映射:

当然你想通过路由来执行你的上面的函数,当然要通过 url 路由过来了,如下

from django.contrib import admin
from django.urls import path
from testapp import views

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


url 中添加参数:

如果你想在路由中添加一个参数,我们用查看用学生的例子,例如需求现在是通过学生id查看学生,那么路由是:

http://127.0.0.1/student/3, 代表我要查看 id 为 3 的这位同学,在 django 中我们可以把路由定义成如下这样:

http://127.0.0.1/student/<id>


urls.py 代码如下:

from django.contrib import admin
from django.urls import path
from testapp import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',views.index),
    path('student/<id>/',views.student),  #第一种方法
    path('student/detail/',views.student_detail),  #第二种方法
]


views.py 代码如下:

def student(request, id):
    text = "您查找的学生 id 是:%s" % id
    return HttpResponse(text)

def student_detail(request):
    stu_id = request.GET.get("id")
    text = "您查找的学生 id 是:%s" % stu_id
    return HttpResponse(text)

第二种路由的方法的参数就应该是这种了 /student/detail/?id=3


include 函数

更多的时候,我们需要为具体的业务创建 app, 同时我们也要为固定的业务指定 url,那么我们就非常需要 include 函数了

# 当前project下面的urls.py文件:

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('testapp/',include("testapp.urls"))
]


# student/urls.py文件:

from django.urls import path
from . import views

urlpatterns = [
    path('',views.index),
    path('/detail/<id>/',views.student)

]


Path() 函数

path()有四个参数,两个必填参数分别是 route 和 view, 另外两个可选参数 kwargs 和 name。

第一个参数 route  就是 urlpatterns 路由匹配进来的字符串

第二个参数 view 就是要执行的视图函数

第三个参数 name 就是给当前路径起个名字

第四个参数 kwargs 就是额外传递的参数,格式是字典形式


==========================我是华丽的分割线===================================

深入学习Django,强烈推荐视频教程《超详细讲解Django打造大型企业网站》




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值