学习笔记(4) ---django视图函数,路由(路由分发),模板(标签,继承)

今天的学习笔记记录开始了.

        安排~~~

继前几天学习的笔记.django项目的创建django项目的创建.

今天进一步学习django项目应用创建.和使用,但是这之前我们的明白一下东西.

且今天学习的配置都是基于上次学习之后,未更改.

目录

一, django的视图函数

二, 路由的配置

(1), 不带参路由

(2), 带参数路由

(3)re_path() :带参路由  这是基于正则匹配的路由配置

 三, 路由的请求和响应.(了解)

   (1)url的请求方法: 

(2)响应对象

四,模板

(1)模板的配置

(2) 模板的加载方式.

(3)模板标签

@模板标签实战

(4)模板的继承.(重点)

@模板继承实战:

&励志语录:


一, django的视图函数

        视图函数有时候也叫类函数. 因为后期学习视图函数将大部分是以的方式创建的.

视图函数是用于接收一个浏览器请求(HttpRequest对象)并通过HttpResponse对象返回响应的函数。此函数可以接受浏览器请求并根据业务逻辑返回相应的响应内容给浏览器.

语法: 

        def XXX(request):

                return HttpResponse(对象)

# 1.导包
from django.http import HttpResponse


# 2.创建视图函数
"""
    这里dome_01为函数名,可以自定义.但是后面括号的request对象不能少.
"""
def dome_01(request):
    html = "<h1>这是我的第一个页面</h1>"
    return HttpResponse(html)       # 这里的html 为HttpResponse返回给浏览器的一个响应

# 好了,一个简单的视图函数就完成了

二, 路由的配置

        

 (今天的路由将都写在主路由下) 一般主路由只起分发子路由的作用.今天不涉及应用就不需要

创建子路由.这里的django_pro 为主项目,其下面的urls.py为主路由.

路由配置在urls.py这个文件中.

(1), 不带参路由

# 1. 导包
from django.contrib import admin  # 这个是导入django后台管理
from django.urls import path
"""
    需要导入视图函数 dome_01,  所有 导包
"""
from . import view   # 因为是同级目录所有用 . 代替上级目录导入view这个包

   
# 2.路由添加
"""
  path()函数  path(route,views,name)
    参数:   1、route:字符串类型,匹配的请求路径

​			2、views:指定路径所对应的试图处理函数的名称

​			3、name:为地址起别名,在模板中url反向解析时使用(难点)

path('路由名/', 调用视图函数)  路由名后面的 / 有时候要有时候不要.一般是在路由需要拼接的时候不要,因为url拼接的,有时候会出现 XXX/ + /XXX 变成 XXX//XXX .但是在用url访问页面的时候一般路由不会写 双 // 所有匹配不到路由找不到网页. 
                                
"""

urlpatterns = [
    path('admin/', admin.site.urls), # 这个是django后台管理路由
                                                
    path('dome01/', view.dome_01),  # 这个是刚刚自己创建的路由 !!!注意这里调用视图函数不能加()
]

# 路由配置好了,运行django.去url访问

(2), 带参数路由

from django.contrib import admin
from django.urls import path, re_path
from . import views
""" 
语法  <类型: 参数名> 作用: 若转换器类型匹配到对应类型的数据,则将数据按照关键字传参的方式传递给视图函数
    
""" 


# 咱们现在看一个例子
"""
    !!! 路由与路由之间一定用 ,隔开
"""
urlpatterns = [
    path('dome02/<int: a>', views.dome_02),
    path('dome03/<int: a>/<str: name>', views.dome_03),
]

views.py中的dome02,和dome03.函数

from django.http import HttpResponse

def dome_02(request, a):
    html = '情话语录: {}'.format(a)
    return HttpResponse(html)

def dome_03(request, a, name):
    html = '%d.我喜欢%s' % (a, name)
    return HttpResponse(html)

(3)re_path() :带参路由  这是基于正则匹配的路由配置

    url.py下的配置    

from django.urls import path, re_path
"""
re_path(r'^XXX $', view, name=xxx)  # name=xxx 一般用于url反向解析今天暂时不用.
        
    ^ 为正则开头,  $为结尾
(?P<参数名>条件}) 固定格式.  这里的条件是正则匹配的条件,满足即可匹配.
"""

urlpatterns = [
    p
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值