windows下django1.7+python3.4.2搭建记录2

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

1、自定义页面

写一个显示当前时间的页面

views.py文件加一个使用模板的模块,整体内容为:

#coding=utf-8fromdjango.shortcutsimportrenderfromdjango.template.loaderimportget_templatefromdjango.templateimportContextimportdatetime#import sys#reload(sys)#sys.setdefaultencoding('cp936')#Create your views here.fromdjango.shortcutsimportrender,render_to_responsefromdjango.httpimportHttPResponse#Create your views here.a="测试"defhello(request):returnHttpResponse(a)defcurrent_datetime(request):

now=datetime.datetime.now()

t= get_template('current_datetime.html')

html= t.render(Context({'current_date': now}))returnHttpResponse(html)

其中current_datetime.html就是我们要使用的模板,可以自己添加好多效果,基本内容为

<!doctype html><htmllang="en"><head><metacharset="UTF-8"><metaname="Generator"content="EditPlus®"><metaname="Author"content=""><metaname="KeyWords"content=""><metaname="Description"content=""><title>Document</title></head><body>it is now {{ current_date }}</body></html>

其中current_date就是相当于一个数据转换的精确开关

urls.py内容自然也要添加模块绑定的语句

fromdjango.conf.urlsimportpatterns, include, urlfromdjango.contribimportadminfromviews.viewsimporthellofromviews.viewsimportcurrent_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),

)

做完这些,浏览器里输入http://127.0.0.1:8000/current_datetime/,会报错

TemplateDoesNotExist at /current_datetime/

其中有句话是Using loader django.template.loaders.app_directories.Loader:

D:\Python34\lib\site-packages\django\contrib\admin\templates\current_datetime.html (File does not exist)

D:\Python34\lib\site-packages\django\contrib\auth\templates\current_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认证。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航