1、django安装

    python 2.6 要使用 Django-1.4.5.tar.gz

[root@localhost yum.repos.d]# pip install Django==1.4.5Downloading/unpacking Django==1.4.5  Downloading Django-1.4.5.tar.gz (7.7MB): 7.7MB downloaded  Running setup.py (path:/tmp/pip_build_root/Django/setup.py) egg_info for package DjangoInstalling collected packages: Django  Running setup.py install for Django    changing mode of build/scripts-2.6/django-admin.py from 644 to 755    changing mode of /usr/bin/django-admin.py to 755Successfully installed DjangoCleaning up...[root@localhost ~]# pythonPython 2.6.6 (r266:84292, Sep  4 2013, 07:46:00) [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import django>>>

2、django 使用,第一个project

[root@localhost pyfile]# django-admin.py startproject cvst01[root@localhost cvst01]# pwd/root/pyfile/cvst01[root@localhost cvst01]# lscvst01  manage.py
vi settings.pyTIME_ZONE = 'Asia/Shanghai'# Language code for this installation. All choices can be found here:# http://www.i18nguy.com/unicode/language-identifiers.htmlLANGUAGE_CODE = 'zh-cn'INSTALLED_APPS = (    'django.contrib.auth',    'django.contrib.contenttypes',    'django.contrib.sessions',    'django.contrib.sites',    'django.contrib.messages',    'django.contrib.staticfiles',    'blog',)
3、第一个web app应用[root@localhost cvst01]# django-admin.py startapp blog[root@localhost cvst01]# pwd/root/pyfile/cvst01[root@localhost cvst01]# lsblog  cvst01  manage.py[root@localhost cvst01]# cd blog[root@localhost blog]# ls__init__.py  models.py  tests.py  views.pyvi urls.py## 映射一个动作,当访问blog/index的时候,就调用blog应用里面,views模块里的index方法urlpatterns = patterns('',    # Examples:    # url(r'^$', 'cvst01.views.home', name='home'),    # url(r'^cvst01/', include('cvst01.foo.urls')),    # Uncomment the admin/doc line below to enable admin documentation:    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),    # Uncomment the next line to enable the admin:    # url(r'^admin/', include(admin.site.urls)),    url(r'^blog/index/$','blog.views.index'),)
##使用index方法,返回一个HttpResponse[root@localhost blog]# pwd/root/pyfile/cvst01/blogvi view.pyfrom django.http import HttpResponsedef index(req):	return HttpResponse('

hello welcome to Django

')
[root@localhost cvst01]# lsblog  cvst01  manage.py[root@localhost cvst01]# python manage.py runserverValidating models...0 errors foundDjango version 1.4.5, using settings 'cvst01.settings'Development server is running at http://127.0.0.1:8000/Quit the server with CONTROL-C.[07/Apr/2016 22:08:57] "GET / HTTP/1.1" 404 1900[07/Apr/2016 22:09:10] "GET /blog/index HTTP/1.1" 301 0[07/Apr/2016 22:09:10] "GET /blog/index/ HTTP/1.1" 200 32[07/Apr/2016 22:09:15] "GET /blog/ HTTP/1.1" 404 1915[07/Apr/2016 22:09:20] "GET /blog/index/ HTTP/1.1" 200 32

4、上面的“

HttpResponse('

hello welcome to Django

')

”使用文本,现在学习使用html,html文件都是放在app目录的templates下,新建这个目录,在里面加入一个html文件

vi index.html

	
CVST

hello everyone!

那么映射响应的动作也变了,所以修改views.py,有两种方法,分别导入不同的模块

[root@localhost blog]# cat views.py第一种from django.http import HttpResponsefrom django.template import loader,Contextdef index(req):        t = loader.get_template('index.html')        c = Context({})        return HttpResponse(t.render(c))第二种from django.shortcuts import render_to_responsedef index(req):        return render_to_response('index.html',{})

5、

如何在视图中,动态传入数据

使用模板变量,用{

{}}表示

	
`title`

hello `user`.`name`!

  • age:`user`.`age`
  • sex:`user`.`sex`
  • the `user`.`name` say : `user`.`say`
  • age:`book_list`.`0`
  • age:`book_list`.`1`
  • class Person(object):	def __init__(self,name,age,sex):		self.name = name		self.age = age		self.sex = sex	def say(self):		return 'I am ' + self.name#可以接收变量(my page),字典 user{}等,也可以接收对象userdef index(req):#	user = {'name':'kate','age':'23','sex':'male'}	book_list = ['Python','Java','Shell']	user = Person('Tom',23,'male')        return render_to_response('index.html',{'title':'my page','user':user,'book_list':book_list})