对Django的理解整理

对Django的理解整理_第1张图片

首先创建一个Djange项目后,大体可分为三部分(两个package,一个dictionary)
1.自己的app
2.整个项目的控制器部分(和项目名称重名),作用在所有的app上
3.templates

先看第一部分app:
在其下面的views.py存放处理函数
可以自己创建static文件夹存放静态文件

第二部分:
主要的要两个:
一个是setting文件,在项目启动后会首先执行这个文件,要将要用到的文件目录添加进来,这样django才能找得到,才能调用

另一个是urls.py,这里面对应请求信息要处理的函数。django在执行完settings.py之后,就会执行urls.py,把请求信息一个一个向下匹配,找到之后就有相应的函数进行处理

第三部分templates:
2.x版本是一个默认的文件夹,放HTML文件可供全局使用(所有app),当然app里面的views.py要想调用的到,就要用到第二部分settings.py的部分

对 Django render方法底层实现的总结

首先看怎么用:

return render (request,html文件的字符串形式,context对象)
>>> python manange.py shell  (进入该django项目的环境)
>>> from django.template import Context, Template
>>> t = Template('My name is {{ name }}.')
>>> c = Context({'name': 'Stephane'})
>>> t.render(c)
'My name is Stephane.'

上面是具体实现过程:
可以看出来,Template和Context是两个类,由他们实例化出两个对象,Template类对象调用render方法,传入Context实例化对象做参数

所以render有几个用处:

1.render会把第二个参数(html文件的字符串形式)实例化为Template对象,把第三个参数实例化为Context对象,然后Template类对象调用render方法,传入Context实例化对象做参数,得到一个结果
2render把处理好的结果会交给Httpresponse返回给客户端,所以要有一个request参数

你可能感兴趣的:(Django,总结)