Django的MTV模式本质是各组件之间为了保持松耦合关系,Django的MTV分别代表:
Model(模型):负责业务对象与数据库的对象(ORM 操作数据库的API
)
Template(模版):负责如何把页面展示给用户
View(视图):负责业务逻辑,并在适当的时候调用Model和Template
此外,Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template
用户输入url先到urls.py里匹配可执行文件方法,解析到视图需要到数据库里的话就到models获取数据,然后返回给views。
def login(request):
if request.method=='GET':
data='hello demo'
msg='aming_python'
return render(request, 'login.html', ('data':data,'msg':msg)) # 字典的value的值就是view视图函数内部的变量,key需要传递给template。一些标识。传进去的字典的key不必和view视图里的函数名一致,但必须和template里的key一致。
return render(request, 'login.html', locals()) #和上面相同。locals将数据交给templates