小菜一枚,做得不科学的地方请多多指出~
Djnago版本:1.6
1、创建项目:
1
<code>django</code><code>-</code><code>admin.py startproject QjshAdmin</code>
进入QjshAdmin目录,运行测试服务端:
<code>manage.py runserver </code><code>8000</code>
访问127.0.0.1:8000能正常显示
2、新建APP:
<code>python manage.py startapp SaAdmin</code>
配置QjshAdmin/settting.py
2
3
4
5
6
7
8
9
<code>INSTALLED_APPS </code><code>=</code> <code>(</code>
<code> </code><code>'django.contrib.admin'</code><code>,</code>
<code> </code><code>'django.contrib.auth'</code><code>,</code>
<code> </code><code>'django.contrib.contenttypes'</code><code>,</code>
<code> </code><code>'django.contrib.sessions'</code><code>,</code>
<code> </code><code>'django.contrib.messages'</code><code>,</code>
<code> </code><code>'django.contrib.staticfiles'</code><code>,</code>
<code> </code><code>'SaAdmin'</code><code>,</code>
<code>)</code>
配置QjshAdmin/urls.py
<code>urlpatterns </code><code>=</code> <code>patterns('',</code>
<code> </code><code># Examples:</code>
<code> </code><code># url(r'^$', 'QjshAdmin.views.home', name='home'),</code>
<code> </code><code># url(r'^blog/', include('blog.urls')),</code>
<code> </code><code>url(r</code><code>'^admin/'</code><code>, include(admin.site.urls)),</code>
<code> </code><code>url(r</code><code>'^saadmin/'</code><code>, include(</code><code>'SaAdmin.urls'</code><code>)),</code>
将saadmin开头的url解析指向SaAdmin这个APP的urls,然后写个简单的测试页面:
SaAdmin/urls.py
<code>from</code> <code>django.conf.urls </code><code>import</code> <code>patterns, include, url</code>
<code>from</code> <code>django.views.generic </code><code>import</code> <code>TemplateView</code>
<code> </code><code>url(r</code><code>'^test/$'</code><code>, TemplateView.as_view(template_name</code><code>=</code><code>'test.html'</code><code>)),</code>
在SaAdmin目录下新建一个templates目录存放模板:
SaAdmin/templates/test.html
<code><!DOCTYPE html></code>
<code><</code><code>html</code><code>></code>
<code><</code><code>head</code><code>></code>
<code> </code><code><</code><code>title</code><code>></</code><code>title</code><code>></code>
<code></</code><code>head</code><code>></code>
<code><</code><code>body</code><code>></code>
<code>测试页面</code>
<code></</code><code>body</code><code>></code>
<code></</code><code>html</code><code>></code>
<a href="http://s3.51cto.com/wyfs02/M00/39/78/wKioL1O6PmHwTvh-AAAtaAX0pTk534.jpg" target="_blank"></a>
3、安装django-jinja,使django支持jinja2模板
下载回来解压安装,复制django_jinja至项目下,和manage.py同一层
配置settings.py:
10
11
12
13
14
15
16
17
18
19
20
<code> </code><code>'django_jinja'</code><code>,</code>
<code>......</code>
<code>#django_jinja</code>
<code>TEMPLATE_LOADERS </code><code>=</code> <code>(</code>
<code> </code><code>'django_jinja.loaders.AppLoader'</code><code>,</code>
<code> </code><code>'django_jinja.loaders.FileSystemLoader'</code><code>,</code>
<code>DEFAULT_JINJA2_TEMPLATE_EXTENSION </code><code>=</code> <code>'.jinja.html'</code>
django_jinja将自动解析后缀为.jinja.html的文件,再写一个测试页面:
urls.py
<code> </code><code>url(r</code><code>'^test/$'</code><code>, TemplateView.as_view(template_name</code><code>=</code><code>'test.jinja.html'</code><code>)),</code>
test.jinja.html
<code>测试Jinja2页面:</code>
<code>21模4的值是:{{ 21 % 4 }}</code>
django自带的模板是不支持模运算,我们看看结果:
<a href="http://s3.51cto.com/wyfs02/M00/39/79/wKioL1O6Pz-zMZMaAAA95MhYZhM413.jpg" target="_blank"></a>
能够进行模运算,jinja2模板系统的功能是正常的
4、最后再添加多一个setting.py的配置:
<code>TEMPLATE_CONTEXT_PROCESSORS</code><code>=</code><code>(</code>
<code>"django.core.context_processors.request"</code><code>, </code><code>#add</code>
<code>"django.contrib.auth.context_processors.auth"</code><code>,</code>
<code>"django.core.context_processors.debug"</code><code>,</code>
<code>"django.core.context_processors.i18n"</code><code>,</code>
<code>"django.core.context_processors.media"</code><code>,</code>
<code>"django.core.context_processors.static"</code><code>,</code>
<code>"django.core.context_processors.tz"</code><code>,</code>
<code>"django.contrib.messages.context_processors.messages"</code><code>,</code>
作用是模板中可以用request变量
环境准备到这里
本文转自运维笔记博客51CTO博客,原文链接http://blog.51cto.com/lihuipeng/1435293如需转载请自行联系原作者
lihuipeng