Django静态资源和模板配置

时间:2021-08-31 10:02:08

上一篇文章介绍了Django的一些基本配置,而且让我们的管理员界面成功运行起来,在实际的开发中,不可避免的会用到各种静态资源(JavaScript脚本,CSS,静态网页以及图片等),另外,Django还为我们提供了一套模板系统,我们可以用数据对模板页面进行渲染。这两方面都需要我们对Django项目进行必要的配置。


看一下静态资源的配置,我们基于之前文章介绍的项目进行说明。首先在login这个app目录下创建一个static目录(login/static),然后,打开项目的settings文件,在文件最下面,有一行

STATIC_URL = '/static/'


这是访问静态资源的URL根地址,在这条配置之后,我们加入一条

STATICFILES_DIRS = [   

    os.path.join(BASE_DIR, 'login', 'static'),

]


STATICFILES_DIRS用来指明存放静态资源文件的目录,这里使用一个列表,说明可以存在多个目录。BASE_DIR在settings.py文件中有定义,就是项目的路径,然后拼接了login和static,所以我们指定的路径就是BASE_DIR/login/static。


配置好静态资源文件路径以后,我们可以试一下,在login/static/路径下创建一个hello.html文件,body中添加一句Hello World,之后运行项目,打开浏览器,输入地址:

http://localhost:8000/static/hello.html


应该已经看到了Hello World,这就说明配置完成了。可以删除hello.html文件了。


再来看一下模板路径的配置,同样在settings.py文件中,有一个配置项TEMPLATES,这里只要确认一下:

'APP_DIRS': True


然后,在INSTALLED_APPS配置项下加入login这个app

INSTALLED_APPS = [
    ...
    'django.contrib.staticfiles',
    'login'
]


这样,Django会自动寻找创建app目录下的templates目录下的模板文件,让我们创建一个目录login/templates,然后在这里创建一个hello.html文件,body中写入{{ content }}.


为了确认模板是否可用,这里稍微超纲一些,可以先照做,打开项目目录下的django_demo/urls.py,加入一些语句:

from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^login/', include('login.urls'))
]


然后创建login/urls.py文件,输入下面内容

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^/$', views.hello),
]


打开login/views.py文件,输入:

from django.shortcuts import render

def hello(request):
    return render(request, 'hello.html', {'content': 'Hello World'})


运行项目,然后浏览器打开

http://localhost:8000/login/


会看到Hello World,这样,项目的templates就配置完成。可以把上面测试templates可用的代码删掉了。后面讲解的内容将继续围绕这个项目进行。

Django静态资源和模板配置