Django配置静态文件(CSS\js)及Django调用JS、CSS、图片等静态文件

时间:2021-12-27 14:55:32

1 新建一项目:

root@python:django-admin.py startproject csstest

root@python:cd csstest

root@python:ls

csstest(__init__.py settings.py urls.py wsgi.py) manage.py

注:使用命令新建一项目文件,进入该项目,显示一个与项目同名的文件夹(此文件夹包含4个文件,如上所示)和一个管理python格式的文件。

2 新建一应用:

root@python:adjango-admin.py startapp myapp

root@python:ls

myapp(__init__.py models.py tests.py views.py) csstest(__init__.py settings.py urls.py wsgi.py) manage.py

注:1,此命令及下面的所有命令,都是在1步骤后的当前目录,即项目目录;

2,此步使用命令新建一应用,显示后,比1多出一个应用文件夹(此文件夹内包含4个文件,如上所示)。

3 新建模块文件夹

root@python:mkdir static templates

注:新建一模板文件夹,用来存放模板文件,如html格式的文件。

4 新建静态文件文件夹

root@python:mkdir myapp/static

注:在应用下新建一文件夹(最好命名为static),用来存放含有css,js或图片的文件。

5 添加测试代码

(1)root@python:vim csstest/urls.py

只添加:url(r'^$',include('myapp.urls')),

(2)root@python:vim myapp/urls.py

from django.ocnf.urls import *

from django.conf import settings

ulrpatterns = patterns('',

url('^','myapp.views.index'),

url('^static/(?P<path>.*)$','django.views.static.serve',{'document_root':settings.STATIC_ROOT},name='static'),

)

(3)root@python:vim myapp/views.py

from django.shortcuts import render_to_response

def index(req):

return render_to_response('indexl.html')

(4)root@python:vim templates/index.py

<html>

<link href="/static/style.css" ref="stylesheet" type="text/css" />

<head>

<title> my index </title>

</head>

<body>

<h1>  my first Django web </h1>

<div>

<div> my first div </div>

<div> my second div </div>

</div>

</body>

</html>

(5)root@python:vim myapp/static/style.css

body {background-color:red;}

注:1,此过程是安装Django的运行过程添加的代码,即当我们在浏览器中输入:127.0.0.1:8000后,系统首先运行csstest/urls.py,找到匹配的url后,接着进入myapp/urls.py,找到最终的视图文件,响应myapp/views.py,在该视图文件中,去返回templates/index.html的文件,由于该文件用到了静态文件css,所以在myapp/static/下添加文件style.css。

2,逆过来说,首先要配置,在csstest/settings.py下配置STATIC_ROOT、STATIC_URL、TEMPLATE_DIRS、INSTALLED_APPS;

其次, url('^static/(?P<path>.*)$','django.views.static.serve',{'document_root':settings.STATIC_ROOT},name='static'),

再次,<link href="/static/style.css" ref="stylesheet" type="text/css" />,这里的红包static最好相对应,如可以命名为site_static等。

6 配置

root@python:vim csstest/settings.py

STATIC_ROOT= os.path.join(os.path.dirname(os.path.dirname(__file__)),'static').replace('\\','/') 

STATIC_URL = '/static/'

TEMPLATE_DIRS(

'/home/django/csstest/templates',

)

INSTALLED_APPS( 

.......

'myapp',

)

7 显示效果:

即添加红色的背景(第5步的(5))

Django配置静态文件(CSS\js)及Django调用JS、CSS、图片等静态文件