赞
踩
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<div>
<a href="{% url 'home' %}">
<h2>个人博客网站</h2>
</a>
</div>
</body>
</html>
<title>{% block %}{% endblock %}</title>
<title>{% block title %}{% endblock %}</title>
{% block content %}{% endblock %}
{% extends 'base.html' %} {# 页面标题 #} {% block title %} {{ blog.title }} {% endblock %} {# 页面内容 #} {% block content %} <h3>{{ blog.title }}</h3> <p>作者: {{ blog.author }}</p> <p>发表时间: {{ blog.created_time | date:"Y-m-d H:n:s" }}</p> <p>分类: <a href="{% url 'blog_with_type' blog.blog_type.pk %}"> {{ blog.blog_type }} </a> </p> <p>{{ blog.content }}</p> {% endblock %}
如果有多个应用同时使用同一个模板文件, 那么把模板文件单独封装到一个文件夹会让模板的使用更清晰明了.
另一个问题就是, 如果把模板文件放到一个app里面, 后续这个应用迁移了, 其他应用就获取不到模板文件
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [ os.path.join(BASE_DIR, 'template'), ], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ]
如果是封装的特别好, 一个模板文件只给一个应用使用, 那么建议把模板文件放到应用里面, 否则放在全局通用的文件里.
# 用模板显示响应的内容 from django.shortcuts import render_to_response, get_object_or_404 from .models import Blog, BlogType # 博客列表 def blog_list(request): content = {} # 字典的key是对应的名称 content['blogs'] = Blog.objects.all() content['count'] = Blog.objects.all().count() # 传给前台数据并取得响应 return render_to_response('blog/blog_list.html', content) # 博客详情 def blog_detail(request, blog_pk): content = {} # 根据主键查询博客 content['blog'] = get_object_or_404(Blog, pk=blog_pk) return render_to_response('blog/blog_detail.html', content) # 博客分类 def blog_with_type(request, blog_type_pk): content = {} blog_type = get_object_or_404(BlogType, pk=blog_type_pk) content['blogs'] = Blog.objects.filter(blog_type=blog_type) content['blog_type'] = blog_type return render_to_response('blog/blog_with_type.html', content)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。