Django 1.5.4 专题四 Template 提高
2013-10-11 12:37
459 查看
staticfiles:这是一个静态资源管理的app,django.contrib.staticfiles。老的版本中,静态资源管理一直是一个问题,部分app发布的时候需要带上静态资源,在部署的时候必须将每个app存在的static静态资源复制到同一个static目录。引入staticfiles之后,执行命令:python manage.py collectstatic 就可以方便的将所用到的app中的静态资源复制到同一目录。 staticfiles的主要相关配置与分析 STATIC_ROOT:运行上边提到的命令:python manage.py collectstatic 之后静态文件将要复制到的目录,这个目录只有在运行collectstatic时候才会用到,不能想当然的以为这个目录和MEDIA_ROOT的作用是相同的,否则在开发环境的时候可能一直无法找到静态文件。 STATIC_URL:设置的static file的起始url,这个只是在template里边引用到,这个参数和MEDIA_URL的含义相同, STATICFILES_DIRS:和TEMPLATE_DIRS的含义差不多,就是除了各个app的static目录以外还需要管理的静态文件设置,比如项目的公共文件差不多。 各个app目录下的静态文件static/django会自动找到,这个点和app下的templates目录下差不多 在urls.py中加入静态文件处理的代码 from django.contrib.staticfiles.urls import staticfiles_urlpatterns # This will work if DEBUG is True urlpatterns += staticfiles_urlpatterns()
一.修改settings.py
也可以使用
二.修改articles/templates/articles.html的内容如下
{% extends "base.html" %} {% block content %} <h2>Language is :{{ language }}</h2> <h2>Session Language is : {{ session_language }}</h2> {% if articles.count > 0 %} {% for article in articles %} <div> <h2><a href="/articles/get/{{ article.id }}/">{{ article.title }}</a></h2> <p> {{ article.body|lower|truncatewords:"10" }}</p> </div> {% endfor %} {% else %} <p>None to show!</p> {% endif %} {% endblock %}
三.修改articles/templates/article.html的内容如下
{% extends "base.html" %} {% block sidebar %} <ul> <li><a href="/articles/all">Articles</a></li> </ul> {% endblock %} {% block content %} <h1> {{ article.title }} </h1> <p> {{ article.body }} </p> {% endblock %}
四.修改django_test/templates/base.html的内容如下
{% load static %} <!DOCTYPE html> <html lang="zh-CN"> <head> <title> {% block title %} My Base Template {% endblock %} </title> <meta charset="UTF-8"> <link rel="stylesheet" type="text/css" href="{% static 'assets/css/default.css' %}"> </head> <body> <div id="page"> <div id="sidebar"> {% block sidebar %} <ul> <li><a href="/articles/all">Articles</a></li> <li><a href="/admin/">Admin</a></li> </ul> {% endblock %} </div> <div id="content"> {% block content %} This is the content area {% endblock %} <img src="{% static 'assets/image/python-logo.png' %}" width="200" /> </div> </div> </body> </html>
五.创建django_test/static/css文件夹和django_test/static/images文件夹
django_test/static/css/default.css 的内容如下
body{ text-align:center; } #page{ width: 960px; text-align:left; margin:10px auto 20px auto; background-color: #0c0c0c; } #sidebar{ float: left; width: 200px; border: 1px solid #000; } #content{ float: left; width: 600px; border:1px solid #f00; padding: 10px; }
图片可放在django_test/static/images/
如python-logo.png
六.修改STATIFILES_DIRS内容如下
python manage.py collectstatic命令,这将从Django资源包中复制必须的静态文件到STATIC_ROOT指示的static文件夹中
相关文章推荐
- Django 1.5.4 专题二 urls 和 view 提高
- Django 1.5.4 专题18 Custom template tags
- Django 1.5.4 专题二 urls 和 view 提高
- Django 1.5.4 专题19 heroku s3
- Django 1.5.4 专题五 cookies 和 sessions
- Django 1.5.4 专题一 入门
- Django 1.5.4 专题六 login 和 logout
- Django 1.5.4 专题11 file uploading and updating database schema
- Django 1.5.4 专题22 Signals
- Django 1.5.4 专题七 register
- Django 1.5.4 专题12 Ajax search 功能
- Django 1.5.4 专题13 Web Service with tastypie
- Django 1.5.4 专题八 Model
- Django 1.5.4 专题14 Basic unit testing
- Django 1.5.4 专题20 fabric
- Django 1.5.4 专题23 Celery RabbitMQ
- Django 1.5.4 专题27 pinax
- Django 1.5.4 专题26 Bootstrap
- Django 1.5.4 专题21 haystack whoosh
- Django 1.5.4 专题15 south