上一篇文章介绍了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可用的代码删掉了。后面讲解的内容将继续围绕这个项目进行。