展示一个网页需要三部分组成:
- urls.py -- 指定网址与对应的视图
- views.py -- 创建试图以及指定对应的模板
- template/*.html -- 对应的模板
一.urls.py
url(r'^$', 'article.views.articles'),url(r'^articles/', include('article.urls')),
'article.views.articles' -- 指定具体的试图
include('article.urls') -- 指定具体应用的试图文件
二.view.py
def articles(request): args = {} args.update(csrf(request)) args['articles'] = Article.objects.all() #return HttpResponse("Hello World") return render_to_response('articles.html', args)
render_to_response('articles.html', args) -- 指定对应的模板,以及传入的参数
三.articles.html及base.html
{% extends 'base.html' %}{% block content %}{% for article in articles %}{
{ article.title }}{% endfor %}{% endblock %}
{% load staticfiles %} ...{% block content %} { % endblock %}
- {% extends 'base.html' %}, 继承模板base.html
- {% block content %},替换基础模板中相应内容
- {% load staticfiles %}, {% static "css/base.css" %} 指定static的对应路径。
其它:
如果模板,静态文件不是放在应用下面的templates,statics默认路径目录下,则需要仔settings.py中定义
STATICFILES_DIRS = ( os.getcwd() + '/static/',)TEMPLATE_DIRS = ( os.getcwd() + '/templates',)