Django进修笔记----settings and database_based App demo
添加时间:2013-7-23 点击量:
原文参考docs.djangoproject.com, what can manage.py utility do? find here.
1.Database Setup
编辑settings.py文件,设备数据库,包含provider和数据库(文件路径)名称,然后保存(不断定要不要compile下)。若是为SQLite,应用此操纵主动创建数据库文件(给出绝对路径名c:/blah/blah/demoDB.db,engine:django.db.backends.sqlite3)
应用:python manage.py syncdb
2.设置Time Zone等
默认为美国中部时候Chicago
3.Installed_apps
settings.py文件底部默认有几个apps:
- django.contrib.auth – An authentication system.
- django.contrib.contenttypes – A framework for content types.
- django.contrib.sessions – A session framework.
- django.contrib.sites – A framework for managing multiple sites with one Django installation.
- django.contrib.messages – A messaging framework.
- django.contrib.staticfiles – A framework for managing static files.
PS:上边每个app都至少应用数据库中一张表,所以有须要时应用python manage.py syncdb来创建db file.这个号令会查找installed_apps中给出的信息和settings.py中数据库设备信息来创建数据库和表。当注释掉某些默认apps时,此号令只为installed_apps中未注释的apps创建table.
一个app可以经由过程package和distribute操纵,将其应用在多个project里。
3.Create models(with an app demo called Polls)
每个应用Django所写的app都是一个Python包,按照商定会在Python下有响应的路径。全部app根蒂根基目次布局都由Django自带的utility来完成,我们只须要focus到代码项目组。
app和project的差别:小我懂得,相当于VS下的project和solution的差别。一个app可属于多个project,一个project可包含多个apps和相干设备文件.
项目可以在python的任何路径下,如:python manage.py startapp polls;对应polls文件夹下就有 __init__.py,models.py,tests.py,views.py四个文件。
1.创建基于数据库的web app起首要定义models(数据的layout,包含fields和数据上的操纵);Django也遵守DRY原则,一处定义,多处持续;
2.创建两个model,每个Choice都与一个Poll相接洽关系,编辑app文件夹下的model.py文件,如下:
django.db import models
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField(date published)
class Choice(models.Model):
poll = models.ForeignKey(Poll) #外键,Django支撑many-to-ones,many-to-manys,one-to-ones.
choice_text = models.CharField(max_length=200) #Field class给出类型,某些类型须要参数以作两用:db schema和validation.
votes = models.IntegerField(default=0) #choice_text and votes为存储在db中的字段名,可在python中应用其值。
PS:每个model都由一个持续于models.Model的类来默示,每个model都稀有个变量,每个变量代表model中的一个数据库字段;
3.上边的定义可供Django: 1)为此app创建database schema(create table语句); 2)创建Pyhton用于接见Poll和Choice对象的API;
4.起首得告诉project的是,polls app已经安装。Django下的apps都是插拔式的(pluggable),一个app可用于多个project(as showed above),我们可以distribute这些apps,因为这些apps并不耦合于其他Django installation(小我懂得为不耦合于任何project);
5.settings.py中参加此app[即polls];
6.Run: python manage.py sql polls,告诉Django包含polls app:
7.可选项:应用manage.py对数据库进行设备;
8.Run: manage.py syncdb在数据库中创建model的tables;
9.Run:manage.py shell进入shell,然后可以应用Database API操纵刚定义的models(CRUD);
此demo原文来自:https://docs.djangoproject.com/en/1.5/intro/tutorial01/
原来,再大的房子,再大的床,没有相爱的人陪伴,都只是冰冷的物质。而如果身边有爱人陪伴,即使房子小,床小,也觉得无关紧要,因为这些物质上面有了爱的温度,成了家的元素。—— 何珞《婚房》#书摘#
原文参考docs.djangoproject.com, what can manage.py utility do? find here.
1.Database Setup
编辑settings.py文件,设备数据库,包含provider和数据库(文件路径)名称,然后保存(不断定要不要compile下)。若是为SQLite,应用此操纵主动创建数据库文件(给出绝对路径名c:/blah/blah/demoDB.db,engine:django.db.backends.sqlite3)
应用:python manage.py syncdb
2.设置Time Zone等
默认为美国中部时候Chicago
3.Installed_apps
settings.py文件底部默认有几个apps:
- django.contrib.auth – An authentication system.
- django.contrib.contenttypes – A framework for content types.
- django.contrib.sessions – A session framework.
- django.contrib.sites – A framework for managing multiple sites with one Django installation.
- django.contrib.messages – A messaging framework.
- django.contrib.staticfiles – A framework for managing static files.
PS:上边每个app都至少应用数据库中一张表,所以有须要时应用python manage.py syncdb来创建db file.这个号令会查找installed_apps中给出的信息和settings.py中数据库设备信息来创建数据库和表。当注释掉某些默认apps时,此号令只为installed_apps中未注释的apps创建table.
一个app可以经由过程package和distribute操纵,将其应用在多个project里。
3.Create models(with an app demo called Polls)
每个应用Django所写的app都是一个Python包,按照商定会在Python下有响应的路径。全部app根蒂根基目次布局都由Django自带的utility来完成,我们只须要focus到代码项目组。
app和project的差别:小我懂得,相当于VS下的project和solution的差别。一个app可属于多个project,一个project可包含多个apps和相干设备文件.
项目可以在python的任何路径下,如:python manage.py startapp polls;对应polls文件夹下就有 __init__.py,models.py,tests.py,views.py四个文件。
1.创建基于数据库的web app起首要定义models(数据的layout,包含fields和数据上的操纵);Django也遵守DRY原则,一处定义,多处持续;
2.创建两个model,每个Choice都与一个Poll相接洽关系,编辑app文件夹下的model.py文件,如下:
django.db import models
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField(date published)
class Choice(models.Model):
poll = models.ForeignKey(Poll) #外键,Django支撑many-to-ones,many-to-manys,one-to-ones.
choice_text = models.CharField(max_length=200) #Field class给出类型,某些类型须要参数以作两用:db schema和validation.
votes = models.IntegerField(default=0) #choice_text and votes为存储在db中的字段名,可在python中应用其值。
PS:每个model都由一个持续于models.Model的类来默示,每个model都稀有个变量,每个变量代表model中的一个数据库字段;
3.上边的定义可供Django: 1)为此app创建database schema(create table语句); 2)创建Pyhton用于接见Poll和Choice对象的API;
4.起首得告诉project的是,polls app已经安装。Django下的apps都是插拔式的(pluggable),一个app可用于多个project(as showed above),我们可以distribute这些apps,因为这些apps并不耦合于其他Django installation(小我懂得为不耦合于任何project);
5.settings.py中参加此app[即polls];
6.Run: python manage.py sql polls,告诉Django包含polls app:
7.可选项:应用manage.py对数据库进行设备;
8.Run: manage.py syncdb在数据库中创建model的tables;
9.Run:manage.py shell进入shell,然后可以应用Database API操纵刚定义的models(CRUD);
此demo原文来自:https://docs.djangoproject.com/en/1.5/intro/tutorial01/
原来,再大的房子,再大的床,没有相爱的人陪伴,都只是冰冷的物质。而如果身边有爱人陪伴,即使房子小,床小,也觉得无关紧要,因为这些物质上面有了爱的温度,成了家的元素。—— 何珞《婚房》#书摘#