`
qindongliang1922
  • 浏览: 2183757 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117530
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125921
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59896
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71301
社区版块
存档分类
最新评论

Python3.4+Django1.7简单动态模板例子

阅读更多
继上篇散仙写的Django入门,这次我们来看看如何在Django中,动态定义HTML模板,我们都知道,在其他的编程语言里有JSP,ASP,PHP等动态语言,可以直接在这种类似HTML的结构里编写HTML页面,最后在前端渲染展示,其他的编程语言散仙就不多说了,在这里说下JSP吧,在JAVA的世界里,最早的页面也是由Servlet动态生成的,所有的HTML全部写在Servlet里,耦合度极高,维护非常麻烦,后来出来了model,model2,知道现在主流的MVC等风格,jsp文件,本质上也是servlet,jsp的出现使得页面与数据分离,在jsp只要把数据展示模板定义好,然后再servlet里面动态拿到数据的数据库的数据,在返回给jsp,这样就大大简化了web的开发,直至后来的SSH框架更是MVC的经典体现,在python里,实现这样的动静分离的模板也是非常简单的,本篇散仙会用词典模拟一个数据库表对象,然后使用模板文件动态返回数据,并在浏览器中展示。



1,在view里面,定义视图,并采用词典模拟model层实现:


datas=[

    {"id":"1","name":"华为"},
    {"id":"2","name":"三星"},
    {"id":"4","name":"Apple"},
    {"id":"5","name":"中国"},
    {"id":"6","name":"JAVA程序员"},
    {"id":"7","name":"solr"},
    {"id":"8","name":"hadoop编程"},
    {"id":"9","name":"python"},

]

def show(request):
    return render_to_response('data.html',{'datas':datas})



2,在url里定义前端映射:
from django.conf.urls import patterns, include, url
from django.contrib import admin
#导入view定义的方法
from CurdWeb.views import hello,myhtml,bb,show

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'Django项目.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^admin/', include(admin.site.urls)),
    #基于hellword的绑定
    url(r'^hello/$',hello),

    url(r'^myhtml/$',myhtml),
    url(r'^cc/$',bb),
    #url映射到view层,并获取展现数据
    url(r'^show$',show)
)




3,编写HTML模板
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>动态展示学生信息数据</title>
</head>
<body>
<table style="color: green" border="2">
<td>编号</td><td>名字</td>


{% for m in datas %}
   <tr>
   <td>{{ m.id }}</td><td>{{ m.name }}</td>
   </tr>
{% endfor %}
</table>



</body>
</html>



4,在HTML写python模板,支持语法,有for,if/else,比较,过滤器等等,有兴趣的朋友可以在官网学习下。


5,启动Django服务。


6,访问http对应的方法吗,结果截图如下:





如果一切,出现上图,就代表我们的模板视图,使用成功!
  • 大小: 93.4 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics