Django-04

主要说一下静态文件处理。Django想做的事情太多了,它自己的DRY(don't repeat yourself)原则恨不得把每一行代码都帮你写掉。所以最终导致血django的时候让你产生简直在学另一门语言的困扰。再加上python本身语言的不稳定,django各个版本之间,对于静态文件的处理也是坑爹。网上搜一下,可以出来一百个版本的解决方式。现在就1.9版本在官网的介绍,简单翻译一下。

1.引入处理模块

静态文件要在项目setting.py中,作为一个处理模块引入,默认情况下是有的。'django.contrib.staticfiles'

# Application definition

INSTALLED_APPS = [  
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 'django.contrib.sites',
    'member.apps.MemberConfig',
    'customer.apps.CustomerConfig',
]

顺便提一下,'django.contrib.sites',被注释掉,是因为某些时候这个在开发环境会打开页面渲染上的错误,具体原因以后再说。

2.配置STATIC_URL

依旧是在setting.py

STATIC_URL = '/static/'  

3.在app下面,新建static文件件

因为django是模块机项目,每一个project下面都是若干个app组成的,而静态文件的寻址规则,是以此为最小单位。用的时候,在页面中,首先load staticfiles这个变量,然后就可以直接使用了

{% load staticfiles %}
<img src="{% static "my_app/myexample.jpg" %}" alt="My image"/>  

然后这些静态文件部署方法只是开发环境使用,在生产环境,需要 https://docs.djangoproject.com/en/1.9/howto/static-files/

后面部署的时候再写吧。

刘摸鱼

退堂鼓表演艺术家

杭州