python下的web开发框架-Django,建立模型

要创建你的app(将django配置到环境变量下)

python manage.py startapp polls

它们将会创建一个polls文件夹,里面的内容是:

  polls/

    __init__.py

    models.py

    views.py

这个目录结构就是app应用程序。

编写数据库Web应用程序的第一步是定义你的模型层——基本上就是你的数据库的布局,但添加了些额外的元数据。
在我们的简单的poll app中,我们将会创建三个模型:Actor, Publisher,Film.。把文件polls/models.py编辑成如下面的样子:


这些代码都比较简单直观。每个模型都对应一个类,它是django.db.models.Model的子类。每个模型都包含有一些类级变量,它们代表数据库的字段。

每个字段都是Field类的实例——如,CharField是character字段,DateTimeField是日期字段。这些变量告诉Django字段保存的数据类型。
Field实例名(如question或pub_date)是字段的名字。你可以在Python代码中使用它们,也可以在数据库中作为列名使用,我们不加id,因为python会自动帮我们生成一个自增的id值。

你可以使用第一个可选的参数来定义Field的人性化的名字。它在Django中作为提示的内容。如果这个字段没有提供,Django将使用对机器易读的名字。在这个例子中,我们只为Poll.pub_date定义了人性化的名字。模型中的其它字段都是使用对机器易读,对人不易阅读的名字

最后,关注一下关联的定义,使用ForeignKey。它告诉Django每个Choice和一个Poll关联。Django提供有所有常用的数据库关联:多对一,多对多,一对一。

这些少量的模型代码给了Django大量的信息。通过它,Django能够做这些事情:
1.为这个app创建数据库的架构信息(CREATE TABLE 声明)。

2.创建Python的数据库访问API来获取Poll和Choice对象。

但首先,我们要告诉我们的project,polls app已经安装好了。
再次编辑settings.py文件,修改INSTALLED_APPS的设置,加入字符串'polls'。这样,它的代码看起来如下:
polls就是app的名字。python会找polls下的models.py去生成对应数据库表
  INSTALLED_APPS = (
      'django.contrib.auth',
      'django.contrib.contenttypes',
      'django.contrib.sessions',
      'django.contrib.sites',
      'polls'
  )

因为我用的是mysql5.5,python2.6,所以要下对应的python-mysql的包,地址是:http://sourceforge.net/projects/mysql-python

先安装setuptools

下载http://sourceforge.net/projects/mysql-python
安装mysqldb后,运行会出现异常
1.ImportError: DLL load failed: 找不到指定的模块。
ImportError: DLL load failed: 找不到指定的程序。
libmySQL.dll
libguide40.dll
libmmd.dll
把三个dll
----------------------------------------------------------------------------------------------------
解决方法:把mysql安装目录的bin/libmySQL.dll文件复制到python安装目录的Lib/site-packages下

利用module配置文件,生成mysql的表:

python manage.py syncdb

提示:
Creating table auth_permission
Creating table auth_group
Creating table auth_user
Creating table auth_message
Creating table django_content_type
Creating table django_session
Creating table django_site
Creating table film_actor
Creating table film_publisher
Creating table film_film

You just installed Django's auth system, which means you don't have any superuse
rs defined.
Would you like to create one now? (yes/no):
对应的数据表生成成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值