创建app-django
2015-01-21 20:22
253 查看
创建app-django
@(python)创建app
Django规定,如果要使用模型,必须要创建一个app。在上一篇中我们创建的是project,project和app的区别就是:一个project包含很多个Django app以及对它们的配置,一个app是一套Django功能的集合,通常包括模型和视图,按Python的包结构的方式存在。下面的语句创建了一个名为users的app,这个目录包含了这个app的模型models.py和视图views.py,它们都是空的。python manage.py startapp users
会生成一个user的文件夹,里面存有的文件如下:
-rw-rw-r-- 1 linaro linaro 0 Jan 11 07:29 init.py
-rw-rw-r-- 1 linaro linaro 63 Jan 11 07:29 admin.py
drwxrwxr-x 2 linaro linaro 4096 Jan 11 07:29 migrations/
-rw-rw-r-- 1 linaro linaro 57 Jan 11 07:29 models.py
-rw-rw-r-- 1 linaro linaro 60 Jan 11 07:29 tests.py
-rw-rw-r-- 1 linaro linaro 63 Jan 11 07:29 views.py
models.py:模型文件,用 Python 类来描述数据表。
views.py:视图文件,用来联系模型与模版,主要的业务逻辑一般都写在这里。
tests.py:单元测试文件,Python的test功能很强大
定义模型
构建一个保存用户信息的数据库(名字,性别,年龄,邮箱),修改users文件夹下的model.py文件,添加一下代码class Info(models.Model): name = models.CharField(max_length=30) sex = models.CharField(max_length=4) age = models.IntegerField() email = models.EmailField()
最后需要注意的是,我们并没有显式地为这些模型定义任何主键。 除非你单独指明,否则Django会自动为每个模型生成一个自增长的整数主键字段每个Django模型都要求有单独的主键。id
在settings.py增加users app,
INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'users', )
创建数据表
生成并激活model,执行python manage.py makemigrations users
输出是
linaro@cubietruck:~/temp/mysite$ python manage.py makemigrations users Migrations for 'users': 0001_initial.py: - Create model Info
生成数据表,执行
python manage.py migrate
输出是
linaro@cubietruck:~/temp/mysite$ python manage.py migrate Operations to perform: Apply all migrations: users Running migrations: Rendering model states... DONE Applying users.0001_initial... OK
此时dtest数据库生成两个表,如下
+-------------------+ | Tables_in_dtest | +-------------------+ | django_migrations | | users_info | +-------------------+ 2 rows in set (0.00 sec)
mysql> select * from django_migrations; +----+-------+--------------+---------------------+ | id | app | name | applied | +----+-------+--------------+---------------------+ | 1 | users | 0001_initial | 2010-01-11 07:55:33 | +----+-------+--------------+---------------------+ 1 row in set (0.00 sec)
每次修改models.py文件后都要重复以上步骤来激活models和更新数据库。
此时可以对数据表进行操作
>>> from users.models import Info >>> Info.objects.all() [] >>> i = Info(name='liton',sex='male',age='18',email='qq@qq.com') >>> Info.objects.all() [] >>> i.save() >>> Info.objects.all() [<Info: Info object>] >>> i.name 'liton' >>> i.email='qq@163.com' >>> i.save() >>> i.email 'qq@163.com'
查看数据表users_info ,可以看到新增的数据
mysql> select * from users_info; +----+-------+------+-----+------------+ | id | name | sex | age | email | +----+-------+------+-----+------------+ | 1 | liton | male | 18 | qq@163.com | +----+-------+------+-----+------------+ 1 row in set (0.00 sec)
相关文章推荐
- django python 创建app及models【Part 1】
- 创建django project及app中的若干问题
- pycharm 运行django服务器端 以及创建app方法
- 基于Django的在线MOOC学习系统(5)——创建其余 App 并设计 对应的models.py
- 基于Django的在线MOOC学习系统(4)——创建 course App 并设计 models.py
- 创建Django app步骤
- 对于django 1.10.5创建简单的app应用
- django学习笔记【003】创建第一个带有model的app
- Django中文官方版02-创建app
- django 创建APP 后找不到 templates文件夹下的Html文件。
- django简单实现项目和app的创建,并通过admin管理界面管理
- [Django数据库模型]创建一个简易的Django APP
- django学习笔记【004】创建带有model的app
- django中创建应用app并修改模型
- ④Windows7 Django1.5--创建app,建立model,
- 【2】依照Django官网,创建一个web app 创建app/创建对应的数据库表
- frist Django app — 一、 创建工程
- 【翻译】编写第一个Django app,第一部分——创建项目
- Django tutorial(2)【翻译】编写第一个Django app,第二部分——创建模型和使用模型
- django学习笔记【002】创建第一个django app