进行web开发时,需要跟踪大量的细节。除了显示HTML和处理表单输入外,还有其他的工作要做:
1:处理cookie,会话和登录
2:检测并显示错误
3:在数据库中存储数据
4:将网页设计与应用的应用的其他部分分离,让web设计人员无需打扰您就能进行网页设计。
Django遵循 模型(数据)-视图-控制器的一种将数据和表示分离的设计模式
模型存储数据并提供操作数据的函数;视图(模板)是用户最终显示数据和用户界面;控制器(视图函数)负责界面和存储之间的所有工作。
本文是最djanggo开发的一个入门级总结,不涉及太多具体的实现,只为给以后可能开发进行参考。




四:使用模板HTML
diango模板就是html页面,它包含一些特殊的命令,循环控制语句,甚至函数等,可以动态地创建html。
在模板中将python内容放在{%和%}或者{{和}}之间,位于前者的是程序代码,位于后者的是变量。变量来自模板渲染时
传递给他的上下文。
例如创建一个简单的table表单,名字为index.tmpl,当然也可以使用通用模板就不用自己编写了,下文会讲
1:表单的部分内容如下
<body>
{%if totos%}
<table border="1">
<tr><td>Todo</td><td>Importance</td></tr>
{%for toto in todos %}
<tr><td>{{todo.title}}</td>
<td>{{todo.importance}}</td></tr>
{%endfor%}
</table>
{%else%}
...
</body>2:编写视图函数views.py
from django.template import Context,loader
from django.http import HttpResponse
def hello_world(request)
todos = [{'title':'A','importance':'1'},//列表字典
{'title':'B','importance':'2'},
{'title':'C','importance':'3'},
{'title':'D','importance':'4'},
]
t =loader.get_template('index.tmpl')
c =Context({'todos':todos,}) //上下文
return HttpResponse(t.render(c))3:修改settings.py让它找到模板
TEMPLATE_DIRS那个目录下加入应用的路径就好,django会在全目录下搜索。
这里使用列表字典导入数据,下边学习从模型中导入数据

1:编写modles类

可以使用mysql数据库,这里使用自带的SQlite


一个错误


创建表的工作是django幕后为我们做的
可以用 python manage.py sql blog 命令来查看创建表单时候的esql语句。
六:使用模型
from django.template import Context,loader
from django.http import HttpResponse
from blog.modles import Blogpost
def hello_world(request)
todos = Blogpost.object.all().order_by
( 'title')
t =loader.get_template('index.tmpl')
c =Context({'todos':todos,}) //上下文
return HttpResponse(t.render(c))暂时先写到这里
726

被折叠的 条评论
为什么被折叠?



