码迷,mamicode.com
首页 > 移动开发 > 详细

python27+django创建app

时间:2016-01-24 11:41:49      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:

python manage.py startapp polls创建一个叫polls的app

编辑文件 polls/models.py :

1	from django.db import models
2	class Poll(models.Model):
3	  question = models.CharField(max_length=200)
4	  pub_date = models.DateTimeField(‘date published‘)

再次编辑文件 settings.py ,修改设置INSTALLED_APPS包含字符串 ‘polls‘ 。修改后的配置如下:

INSTALLED_APPS = (
‘django.contrib.auth‘,
‘django.contrib.contenttypes‘,
‘django.contrib.sessions‘,
‘django.contrib.sites‘,
‘polls‘
)


现在Django知道要去包含 polls 这个应用了。

在 Django 中,有一个记录了项目中所有 model 元数据的表,就是 ContentType。表中一条记录便对应着一个存在的model ,那么我们只要通过一个元数据表的 id 和一个具体数据表中的 id,便可以找到任何model中的任何记录。该模块包含在django默认模块中

django1.9以后,使用migrate代替syscdb

运行python manage.py migrate来为数据库中每个应用建立一个数据库表。 

起初一直报错:

RuntimeError: Model class django.contrib.auth.models.Permission doesn‘t declare an explicit app_label and isn‘t in an application
in INSTALLED_APPS.

原来我把django的settings文件里的模块都注释掉了,而相应关联的位置没有更改,于是解除注释重新运行,过了

可以运行以下的命令来进行检查跟踪:

  • python manage.py validate -- 检查模型的结构错误。
  • python manage.py sqlcustom polls -- 输出所有为应用定义的自定义SQL语句 (例如表修改和约束)。
  • python manage.py sqlclear polls -- 根据已存在的表,输出这个应用中必要的DROP TABLE语句。
  • python manage.py sqlindexes polls -- 输出这个应用CREATE INDEX语句。
  • python manage.py sqlall polls -- sql,sqlcustom和sqlindexes命令产生的SQL语句的结合。

python manage.py migrate主要作用是生成相应的要使用的数据库,对应的models需要在settings里设置,如果有所更改,只需要用manage.py makemigrations命令来提交修改,然后运行python manage.py migrate就可以更新数据库。

更新完毕后,你就可以在数据库里看到表,如果看不到,可以用api方式校验,详见下篇

python27+django创建app

标签:

原文地址:http://www.cnblogs.com/slqt/p/5154756.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!