[Python] 使用Django开发Web框架

发布时间:2017-09-13 12:38:41
[Python] 使用Django开发Web框架

Django Web框架简介
Django 项目是一个 python[1]定制框架,它源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。Django 框架的核心组件有:

用于创建模型的对象关系映射
为最终用户设计的完美管理界面
一流的 URL 设计
设计者友好的模板语言
缓存系统。
Django符合MTV架构


Django的安装
Django的安装有两种方法, 这里采用第二种方法,即Option 2. Get the latest development version,具体如下:
[plain]
[dw_mon@TDDBA ~]$ git clone https://github.com/django/django.git
[dw_mon@TDDBA install]$ cd django
[dw_mon@TDDBA django]$ python setup.py install

[dw_mon@TDDBA ~]$ git clone https://github.com/django/django.git
[dw_mon@TDDBA install]$ cd django
[dw_mon@TDDBA django]$ python setup.py install安装成功后,就可以使用Django的管理工具了django-admin.py
Django项目和应用程序
通过以下命令创建一个Django项目:
[plain]
[dw_mon@TDDBA project]$ django-admin.py startproject eshop

[dw_mon@TDDBA project]$ django-admin.py startproject eshop
以上命令会在当前目录下创建eshop的文件夹(即项目),其中包含了运行 Django 项目所需要的基本配置文件:
[plain]
[dw_mon@TDDBA eshop]$ ls
__init__.py settings.py urls.py wsgi.py

[dw_mon@TDDBA eshop]$ ls
__init__.py settings.py urls.py wsgi.py


接着,我们要在该项目下创建一个应用程序order:
[plain]
[dw_mon@TDDBA eshop]$ python manage.py startapp order

[dw_mon@TDDBA eshop]$ python manage.py startapp order以上命令会在当前目录下创建一个prodcuts目录,该目录有如下文件:
[plain] view plaincopyprint?
[dw_mon@TDDBA eshop]$ cd order
[dw_mon@TDDBA products]$ ls
admin.py __init__.py models.py tests.py views.py

[dw_mon@TDDBA eshop]$ cd order
[dw_mon@TDDBA products]$ ls
admin.py __init__.py models.py tests.py views.py

提供应用程序在项目中的位置纯粹是为新 Django 开发人员建立的一种惯例,并不是必需的。
为了使 Django 认识到新应用程序的存在,还需要向 settings.py 文件中的 INSTALLED_APPS 添加一个条目:

[plain]
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
<STRONG>'order',</STRONG>
)

INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'order',
)
Django数据模型
Django 提供了自己的对象关系型数据映射组件(object-relational mapper,ORM)库,它可以通过 Python 对象接口支持动态数据库访问。


ORM 目前提供了对 PostgreSQL、MySQL、SQLite 和 Microsoft® SQL 数据库的支持。

这里采用默认的SQLite,SQLite 只需要指定数据库引擎和数据库名即可,而其它数据库还需要制定用户名、密码等。
(settings.py 文件中的 DATABASES)
[plain]
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}

下面编辑order/models.py模块,定义Python对象与数据库表中的映射关系。
[plain]
from django.db import models

class Product(models.Model):
name = models.CharField('product name', max_length=30)
price = models.FloatField('price', default=10)

def __unicode__(self):
return "%s --> %f" %(self.name,self.price)

from django.db import models

class Product(models.Model):
name = models.CharField('product name', max_length=30)
price = models.FloatField('price', default=10)

def __unicode__(self):
return "%s --> %f" %(self.name,self.price)

然后,运行以下命令就可以在数据库中创建表:


[plain]
[dw_mon@TDDBA eshop]$ python manage.py syncdb

[dw_mon@TDDBA eshop]$ python manage.py syncdb

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:荆门SEO http://jingmen.4567w.com