一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Django1.6 模板TEMPLATE_DIRS 设置问题解决办法

时间:2014-08-05 编辑:简简单单 来源:一聚教程网

我的 Django 版本是 1.6 的,看得学习资料是The Django Book, 在学习模板的这一章时,资料上讲的 "TEMPLATE_DIRS" 的这个选项在 settings 这个文件里没有找到

后来在网上找到说是 1.5 和 1.6 在这点上不一样,1.6 默认是不需要设置的,默认的寻找路径时在 app 下面新建的一个 templates 目录,把模板放进去,系统会自己找到

注意:1.6 的模板默认行为是针对 app 下的,并不是所创建项目下的

下面的示例是输入 http://127.0.0.1:8000/polls/time/, 页面中出现当前时间,具体做法如下:

1.当我们运行 "django-admin.py startproject mysite" 命令时,会创建 mysite 目录,目录结构是

 代码如下 复制代码
mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py

2.在外层 mysite 目录里运行 "python manage.py startapp polls" 命令,创建 polls 应用,此时外层 mysite 目录里被创建了一个 polls 文件夹

 代码如下 复制代码
polls/
    __init__.py
    models.py
    tests.py
    views.py

3.修改 polls 文件夹里面的 views.py 文件内容

 代码如下 复制代码

from django.template.loader import get_template
from django.template import Context
from django.http import HttpResponse
import datetime

def current_datetime(request):
    now = datetime.datetime.now()
    t = get_template('current_datetime.html')
    html = t.render(Context({'current_date': now}))
    return HttpResponse(html)

4.在 polls 文件夹里面新建 urls.py

 代码如下 复制代码

from django.conf.urls import patterns, url

from polls import views

urlpatterns = patterns('',
    url(r'^time/', views.current_datetime),
)

5.在 polls 文件夹里新建 templates 文件夹并在里面新建 current_datetime.html 文件

 代码如下 复制代码
It is now {{ current_date }}.

6.修改里层 mysite 里的 urls.py

 代码如下 复制代码

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'mysite.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),
    url(r'^polls/',include('polls.urls')),
    url(r'^admin/', include(admin.site.urls)),
)

7.修改 settings.py 文件

 代码如下 复制代码
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'polls',
)

8.在浏览器中输入 http://127.0.0.1:8000/polls/time/ 就能得到当前时间了

热门栏目