受不了x软的工作了,开始学习Django1.2。记下知识点。
- Django1.2版有些不同。对于post请求,工程配置文件settings.py中的MIDDLEWARE_CLASSES
中需要加入中间件'django.middleware.csrf.CsrfResponseMiddleware'
。
- 一般地,django.shortcuts包中提供了封装好的渲染html模板的方法render_to_response:
from django.shortcuts import render_to_response
def index(request):
return render_to_response('list.html',{'addr':address})
如果需要对response做特殊处理,那么就需要手动渲染模板:
from django.template import loader, Context
from django.http import HttpResponse
def csv(request, filename):
response = HttpResponse(mimetype='text/csv;')
response['Content-Disposition'] = 'attachment; filename=%s.csv' % filename
t = loader.get_template('csv.html')
c = Context({
'data': address,
})
response.write(t.render(c))
return response
- Django的session功能需要数据库支持,因此需要在settings.py中配置好数据库:
DATABASES = {
'default': {
'ENGINE': 'sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': './data.db', # Or path to database file if using sqlite3.
'USER': '', # Not used with sqlite3.
'PASSWORD': '', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
然后运行manage.py syncdb创建数据库。
- urls.py文件控制地址分发。Django的配置文件本身就是.py类型的python文件,完全按照python的语法书写。url使用正则表达式描述,有需要的话可以从url中提取参数。比如:
urlpatterns = patterns('',
(r'^csv/(\w+)/$', 'list.csv'),
)
这样,比如地址是"/csv/filename/",那么"filename"就会被提取出来作为list.csv方法的第二个参数(第一个参数是request)。但是这样书写,参数是按出现的位置依次提取的。如果想指定参数名,可以这样:
urlpatterns = patterns('',
(r'^csv/(?P<filename>\w+)/$', 'list.csv'),
)
这样,list.csv中就可以使用命名参数filename。
- 工程目录下的urls.py可以将请求转发给应用目录下的urls.py进行处理:
urlpatterns = patterns('',
(r'^address/', include('address.urls')), #地址只匹配开头,所以不以"$"结尾。地址剩下的部分交由address下的urls.py继续匹配
)
- 超级用户可以在第一次运行"manage.py syncdb"时创建,也可以在之后运行manage.py createsuperuser命令。
- models.py中的model默认不被admin模块管理,这里要注册一下要被管理的模块。在应用目录下创建“admin.py”文件:
from django.contrib import admin
from tdp.address.models import Address
admin.site.register(Address) #注册Address,这样才可以用admin模块管理
-
"manage.py
reset
APP_NAME"可以将应用"APP_NAME"下model中的变化同步到数据库中,但是会清除已有数据。
- 使用Generic views模块可以省略掉view。
from django.conf.urls.defaults import *
from tdp.address.models import Address
info_dict = {
# 'model': Address,
'queryset': Address.objects.all(),
}
urlpatterns = patterns('',
(r'^/?$', 'django.views.generic.list_detail.object_list', info_dict),
)
使用object_list,默认查找的模板是“app_label/model_name_list.html”。即应用目录下,名称是model名+"_list.html"的文件。
-
自定义模板过滤器。在应用目录下创建过滤器文件
templatetags/
change_gender.py。装载过滤器时需要用到这个文件名“{% load change_gender %}”。change_gender.py内容参考:
#coding=utf-8
from django import template
register = template.Library()
#@register.filter(name='change_gender')
def change_gender(value):
if value == 'M':
return '男'
else:
return '女'
register.filter('decode_gender', change_gender)
新版本python可以使用注解方式。使用过滤器时,名称是decode_gender。
分享到:
相关推荐
《Django Step by Step》教程概述 Django是一款基于Python的免费开源Web应用框架,它遵循模型-视图-控制器(MVC)架构模式。本教程“Django Step by Step”旨在帮助初学者逐步掌握Django的核心概念和实践技能,通过...
根据提供的文件内容,文档似乎是关于一个名为《Django Step by Step》的教程,它以实践为基础,对初学者学习Django这一Python Web框架的入门提供了帮助。为了便于理解,下面我将详细介绍Django的基础知识点以及如何...
【Django step by step 1.0.2版】教程是一个逐步学习Django框架的指导文档,主要针对初学者,旨在帮助他们理解并构建一个简单的"Hello, World!"程序。Django是一个用Python编写的高级Web框架,它遵循MVC(Model-View...
本笔记将深入探讨Django的基础概念、核心功能以及实际应用。 1. **Django简介**: Django是由两位美国开发者在2005年创建的开源项目,它遵循MVC(模型-视图-控制器)设计模式,但更倾向于MTV(模型-模板-视图)...
django框架学习笔记(源代码及文档) :“django框架学习笔记” :“django学习” 在Python的世界里,Django是一个强大且受欢迎的Web框架,它遵循模型-视图-控制器(MVC)设计模式,用于快速开发高效且可维护的...
### Django框架学习笔记 #### 软件框架概述 软件框架是软件开发中的一种结构化设计,它提供了一种组织代码、数据和其他资源的方式,使得开发者可以更容易地构建应用程序。框架通常包含了一些预设的解决方案,这些...
个人总结的Django学习笔记, 持续更新中。 目前只是总结了django的一部分学习逻辑。
Django是一个高级的Python Web框架,它鼓励快速开发和干净...如果读者在阅读和学习过程中遇到问题,可以依据Django官方文档进行参考,或向IT社区和论坛寻求帮助。在实践中不断尝试和解决实际问题是提高技能的有效途径。
**Django step by step 1.02 实践详解** Django是一个强大的开源Web框架,由Python编写,用于快速开发安全且易于维护的网站。在1.02版本中,Django提供了一系列改进和增强的功能,使其成为初学者和经验丰富的开发者...
**Django学习笔记** Django,作为Python领域最流行的Web框架之一,因其高效、安全且易于上手的特点,被广大开发者所青睐。本学习笔记旨在深入解析Django的核心概念、功能以及实际应用,帮助读者从零开始掌握这个...
这个名为"Django学习笔记.zip"的压缩包文件显然包含了关于Django框架深入学习的各种资料,涵盖了从基础到进阶的主题。让我们逐一探讨这些主题。 1. **Django安装**:Django的安装通常通过Python的包管理器pip完成。...
【标题】:“django框架学习笔记” 【描述】:“django学习” 在Python的世界里,Django是一个强大且受欢迎的Web框架,它遵循模型-视图-控制器(MVC)设计模式,用于快速开发高效且可维护的网站。Django强调代码...
这个“django_step_by_step”压缩包文件提供了一个逐步学习Django的基础教程,帮助初学者理解并掌握这个框架的核心概念和技术。 一、Django简介 Django是一个免费且开源的Web开发框架,遵循模型-模板-视图(Model-...
学习django框架的笔记,超详细