DarkMatter in Cyberspace
  • Home
  • Categories
  • Tags
  • Archives

Django Tutorial Note


以下是 Django 官网 Tutorial 的笔记。

Create project:

E:\MyDoc\DjangoFiles> set PATH=%PATH%;F:\Software\Python27\Scripts

E:\MyDoc\DjangoFiles> django-admin.py startproject mysite (在命令执行的当前目录下生成polls目录结构)

Start project server:

python manage.py runserver (默认绑定8000端口,可用"python manage.py runserver 8001"指定其它server端口号)

Verify: http://localhost:8000

Datebase setup:

mysite.settings.py: DATABASES = ...

and TIME_ZONE = ...

manage syncdb (为project级应用建立数据表)

create app:

python manage.py startapp polls (在命令执行的当前目录下生成polls目录结构)

mysite.settings.py: INSTALLED_APPS = ( ..., 'polls')

定义数据模型

polls.models.py: class Poll(models.Model): ...

python manage.py sql polls (显示生成数据库的脚本)

python manage.py syncdb (执行生成数据库的脚本)

可用python manage.py shell查看数据模型;

url到python函数的过程

  1. mysite.settings.py: ROOT_URLCONF = 'mysite.urls'

  2. mysite.urls.py: urlpatterns = patterns('',

    url(r'^polls/(?P<poll_id>\d+)/$', 'polls.views.detail'), ...)
    
  3. polls.views.py中的detail(回调)函数,返回一个HttpResponse对象,其中可以指定模板, 模板根目录在mysite.settings.py.TEMPLATE_DIRS中设置, polls.views.py中的模板参数是模板文件的相对路径(相对于模板根目录)。

整体而言,对于一个app来说,其MVC过程是:models -> urls -> views -> templates, 当采用 generic views 的时候,MVC 过程变为:models -> urls -> templates。

设计思想

  1. Project 由一组配置和一些app组成,二者之间是多对多关系,app可以复用于多个项目;

  2. 在 Django 的MVC结构中,model 代表数据抽象,处理数据库相关事务,view 是展现层;

  3. 客户端从服务端获取数据用 GET,提交数据用 POST;

  4. MVC in Django: model, template, view



Published

May 23, 2012

Last Updated

Oct 19, 2020

Category

Tech

Tags

  • django 5

Contact

  • Powered by Pelican. Theme: Elegant by Talha Mansoor