模板渲染 + url反向解析 + 学生班级级联 + 获取用户信息

Template

  • 标签
  • 过滤器
  • 语法

模板结构

  • block 块,规划内容,坑
  • extends 继承
  • include 包含
  • block + extends
    • 化整为零
  • 和include配合
    • 由零合一的过程

网页

  • 看效果图
  • 划块

模板在项目中使用

  • 会创建一个base
    • 通用样式
    • 通常js
  • 针对于每个模块,创建自己模块的base
    • 比如,用户模块
    • 登录和注册采用相同的策略
    • 摘要算法(单向不可逆算法)
静态资源
  • Django中还内置了一个简单的Http服务器
  • Http为我们提供资源的

JSON

  • JSONObject
    • JSON对象
    • 标识服 {}
  • JSONArray
    • JSON数组
    • 标识符 []
  • JSON是一个类字典结构
    • key-value
  • JSONObject 和 JSONArray 是可以继续嵌套的

获取参数

  • 路径(path)
    • ip:port之后,?之前
    • 位置参数
      • 按照位置进行匹配
      • 要求,圆括号数必须和视图函数中的参数一一对应(除了默认的request)
    • 关键字参数
      • 使用格式 (?P\d+)
      • 要求,在视图函数中必须存在和 name 一致的参数,顺序不重要
  • 请求参数 GET,POST

url反向解析

  • 在根urls中,使用namespace进行标记
  • 在应用的urls中,使用name进行标记
  • 查找的时候根据 namespace:name
  • 带参数
    • 位置参数
      • 模板中写
        • {% url ‘namespace:name’ xxx yyy zzz %}
      • python代码
        • reverse(‘namespace:name’, args=(xx,yy,zz))
    • 关键字参数
      • 模板中写
        • {% url ‘namespace:name’ key1=xxx key2=yyy key3=zzz %}
        • = 左右两边千万不要出现空格
      • 在python代码中
        • reverse(‘namespace:name’, kwargs={key1: xx, key2: yy, key3:zz })

小细节

  • 路径无特殊说明,需要添加/结尾
    作用:
    添加斜线可以减少请求匹配次数,可以缩短响应时间

homework

  • 班级学生查询联动实现
  • 学生可点击,点开显示个人信息
  • 信息可以修改

request

def send_request(request):
    print(type(request))  # <class 'django.core.handlers.wsgi.WSGIRequest'>
    print(request.path)  # /two/sendrequest/
    print(request.method)  # GET
    print(request.encoding)  # None
    print(request.GET)  # <QueryDict: {}>
    print(request.POST)  # <QueryDict: {}>
    print(request.META)

    meta = request.META
    # keys = meta.keys()
    # for key in keys:
    #     print(key, meta.get(key))
    #     print("****************")

    print(meta.get('REMOTE_ADDR'))
    if meta.get("REMOTE_ADDR") =="10.0.118.33":
        return HttpResponse('请求失败了')
    print(meta.get('USER'))

    return HttpResponse('请求成功')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值