1、自定义页面
写一个显示当前时间的页面
views.py文件加一个使用模板的模块,整体内容为:
其中current_date就是相当于一个数据转换的精确开关
urls.py内容自然也要添加模块绑定的语句
做完这些,浏览器里输入http://127.0.0.1:8000/current_datetime/,会报错
TemplateDoesNotExist at /current_datetime/
其中有句话是Using loader django.template.loaders.app_directories.Loader:
D:Python34libsite-packagesdjangocontribadmin emplatescurrent_datetime.html (File does not exist)
D:Python34libsite-packagesdjangocontribauth emplatescurrent_datetime.html (File does not exist)
很明显模板文件应该放在这两个文件夹的其中一个下,于是移动文件
然后我们在settings.py里添加这么一句,必须放在base_dir后方:
写一个显示当前时间的页面
views.py文件加一个使用模板的模块,整体内容为:
#coding=utf-8 from django.shortcuts import render from django.template.loader import get_template from django.template import Context import datetime #import sys #reload(sys) #sys.setdefaultencoding('cp936') # Create your views here. from django.shortcuts import render,render_to_response from django.http import HttpResponse # Create your views here. a="测试" def hello(request): return HttpResponse(a) def current_datetime(request): now = datetime.datetime.now() t = get_template('current_datetime.html') html = t.render(Context({'current_date': now})) return HttpResponse(html)
其中current_datetime.html就是我们要使用的模板,可以自己添加好多效果,基本内容为
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>Document</title> </head> <body> it is now {{ current_date }} </body> </html>
urls.py内容自然也要添加模块绑定的语句
from django.conf.urls import patterns, include, url from django.contrib import admin from views.views import hello from views.views import current_datetime urlpatterns = patterns('', # Examples: # url(r'^$', 'MyDjango.views.home', name='home'), # url(r'^blog/', include('blog.urls')), #url(r'^admin/', include(admin.site.urls)), url(r'^hello/$', hello), url(r'^current_datetime/$', current_datetime), )
TemplateDoesNotExist at /current_datetime/
其中有句话是Using loader django.template.loaders.app_directories.Loader:
D:Python34libsite-packagesdjangocontribadmin emplatescurrent_datetime.html (File does not exist)
D:Python34libsite-packagesdjangocontribauth emplatescurrent_datetime.html (File does not exist)
很明显模板文件应该放在这两个文件夹的其中一个下,于是移动文件
然后我们在settings.py里添加这么一句,必须放在base_dir后方:
TEMPLATE_DIRS=( os.path.join(BASE_DIR,'templates'),)
问题解决
如何定位basedir呢?我用的笨办法,setting.py中有一句配置:'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
我把db.sqlite3的目录给找出来了
应该还有别的办法,欢迎探讨,下期研究数据库或auth认证。