django 源码、模板的语法符号的使用

本文探讨了Django的基础,重点关注render原理和模板语法。内容包括CBV(Class-Based Views)的基本写法,如何研究源码,特别是django settings的源码分析。在模板语法部分,详细介绍了模板传值、过滤器的使用、模板标签的逻辑操作,以及模板继承的概念和实现方法。通过实例展示了如何自定义过滤器和标签,以及模板的继承机制,帮助开发者更好地理解和运用Django。
摘要由CSDN通过智能技术生成

django 基础

render 原理

代码:

def ab_render(request):
    temp = Template("<h1>{
    {user_dict}}{
    {user_dict.username}}{
    {user_dict.password}}</h1>")
    user_dict = Context({'user_dict':{'username':'jason','password':123}})
    res = temp.render(user_dict)
    return HttpResponse(res)

视图函数并一定就是函数 也可以是类

FBV:基于函数的视图
CBV:基于类的视图

CBV基本写法

from django.views import View


    class MyLogin(View):
        def get(self,request):
            return render(request,'login.html')
        def post(self,request):
            return HttpResponse('我是类里面的post方法')
    
    urls 文件里的urls
    url(r'^login/',views.MyLogin.as_view())

作用:

朝着login提交get请求会自动执行Mylogin里面的fet方法
而提交post请求也会自动执行Mylogin里面的post方法

1752710-20200107164717024-2086547607.png

研究源码的突破口

url(r'^login/',views.MyLogin.as_view())

怎么看源码:

猜想
    as_view要么是类里面定义的普通函数 @staticmethod
    要么是类里面定义的绑定给类的方法  @classmethod
看源码发现是绑定给类的方法
        
看源码不需要每一句都看懂  只看自己能够看得懂

步骤如图:

第一步

1752710-20200107120454330-194752194.png

第二步 从上至下一次查看

1752710-20200107120502826-1930200392.png

第三步:

1752710-20200107120515361-216196404.png

django settings源码

django暴露给用户一个可以自定义的配置
        但是内部也有默认的配置
        
        用户配置了就用用户的 用户没有配就用默认的

1752710-20200107170500227-710779967.png

1752710-20200107211900268-148925456.png

1752710-20200107214555010-2038036786.png

1752710-20200107213934922-833311866.png
1752710-20200107214200973-2113421455.png

模板的语法符号

{
    {}}  变量相关
{% %}  逻辑相关

模板层之模板传值

python基本数据类型全部支持传递给html文件

函数

函数和对象会自动加括号
# 模板语法不支持传参

对象


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值