Skip to content

Django框架笔记-开篇

越来越喜欢Python这种动态编译语言,一个简单的DOS窗口,可以做只要你想得到的事。在很早以前我有过对Python的简单了解,也是直到最近在学习正则表达式才重新对她进行较深入的学习,而这一篇主要还是说一下关于Django框架,她是WEB框架中的一种,其主要选择是因为她的风格和我自己的风格很相像。

一、安装

http://www.djangoproject.com/download/可以下载到最新版,可以放在任何目录下然后执行:python setup.py install。测试一下吧:

>>> import django
>>> django.VERSION
(1, 1, 0, final', 1)

二、创建一个项目

转到Django目录:django-admin.py startproject mysite 其中mysite是项目名称。自动在Django目录下生成mysite目录。

三、运行开发服务器

Django开发服务是可用在开发期间的,一个内建的,轻量的WEB服务,所以在开发过程中无须使用产品级的WEB服务(比如:Apache),只需要执行:python manage.py runserver 8080 当然必须在mysite目录下。你可以通过http://127.0.0.1:8080来访问您的站点。

四、模型(Django数据库层)

(一)、配置数据库,缺省都在:settings.py

(二)、创建模型

在mysite目录下执行:python manage.py startapp books她会自动创建几个模型相关文件在mysite目录下。当然这不是说你就创建一个模型了,我们还得写一些代码。这里的Django模型只是用Python代码形式描述数据在数据库中的定义。

第一步:编写生成文件当中的models.py用Python代码来描述你的模型。

第二步:安装模型。

这一步你需要修改settings.py中INSTALLED_APPS项,把你创建的模型添加到列表中,以便告诉Django需要激活这个模型。你可以先使用python manage.py validate来验证你是否已经正确,如果有错误会明细指出。你还可以用python manage.py sqlall books命令先检查一下Django为你生成的SQL命令是否正确,当然这需要跟你目前配置的数据库来判断。最后用python manage.py syncdb命令来同步你的模型和数据库定义,她傻了一点只会增加你不存在的表,不能同步模型的修改数据库,当然还是有办法的。

第三步:一起HIGHT一下

你可以通过SHELL窗口完成不可思议的操作:

>>> from books.models import Publisher
>>> publisher_list = Publisher.objects.all()
>>> publisher_list
[<Publisher: Apress>, <Publisher: O'Reilly>]

五、Django站点管理

这是Django内置的,你只需要简单配置就可以有一个简单漂亮的站点管理平台,你可以通过他来做一些数据增删改动作。

第一步:对setting.py一点改动

  1. django.contrib.admin加入到INSTALLED_APPS
  2. django.contrib.auth、django.contrib.contenttypes、django.contrib.sessions加入到INSTALLED_APPS
  3. django.middleware.common.CommonMiddleware、django.contrib.sessions.middleware.SessionMiddleware、django.contrib.auth.middleware.AuthenticationMiddleware加入到MIDDLEWARE_CLASSES

第二步:运行python manage.py syncdb同步站点管理需要的数据库表。

第三步:将admin访问配置在URLconf。

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
  (r'^admin/', include(admin.site.urls)),
)

接下来还有什么呢?

The Django Book这里你可以获取到很完整的Django教程,当然他是中文的。

当然也有像The Definitive Guide to Django: Web Development Done Right权威书籍。

最后可别忘了http://www.djangoproject.com/比任何资源来得好,提供非常完整的文档,如遇到BUG咱们上面有人。 8-)

相关日志

Categories: 开源, 技术.

Tags: ,

Comment Feed

No Responses (yet)



Some HTML is OK

or, reply to this post via trackback.

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word