Falsk 安装命令
然后配置虚拟目录,输入:
virtualenv myvir
并且我们可以在电脑中看到这个目录,然后继续运行:
cd D:\FlaskDemo\myvir\Scripts
然后:activate.bat
进入了虚拟环境,然后:
easy_install Flask
最后执行
cd D:\FlaskDemo\app
python hello.py
使用下面的命令可以创建一个project
django-admin.py startproject mysite
启动刚刚创建的Project
runserver命令。默认情况下runserver的启动端口是8000,如果需要更改端口号,可以将其以参数的形式传进去
python manage.py runserver (CD D:\DjangoFirstDemo 项目根目录) (访问 http://127.0.0.1:8000/blog/index/)
启动交互式的命令模式
通常需要测试一些简单的Django代码,这时就可以使用这种交互式的shell来完成
python manage.py shell
创建Django App
python manage.py startapp books
校验Model的有效性
通常为了连接数据库,我们需要创建与数据库表相对应的Model,当Model创建好之后可以使用下面的命令来校验Model的有效性
python manage.py validate
# 如果看到了如下的输出信息,表示你的Model没有问题 0 errors found
生成SQL schema
确认Model没有问题时候,Django为我们提供了一个工具帮助生成创建数据库的schema
python manage.py sqlall books
同步Model到数据库
python manage.py syncdb
python manage.py makemigrations myapp
python manage.py migrate
django修改了model的调用方法,但是它的思路是没有多大变化的,看看你的每个project下面的每个app中,是不是有一个叫做migrations
的东西,而且如果你想验证的话,你可以修改一下app中的model,然后运行python manage.py makemigrations [app_name]
,然后再看看是不是在相应的文件夹中有新增加的东西。那个东西就是记录你更改记录的文件,如果你换了数据库,运行上面那个命令,就可以将东西同步到数据库中。
Django 还提供了另一个工具方便我们直接登录到数据库中
python manage.py dbshell
打印出app中包括的所有模型的sql语言表示
python manage.py sqlall blog
接着介绍time模块中常用的几个函数:
索引(Index) | 属性(Attribute) | 值(Values) |
---|---|---|
0 | tm_year(年) | 比如2011 |
1 | tm_mon(月) | 1 - 12 |
2 | tm_mday(日) | 1 - 31 |
3 | tm_hour(时) | 0 - 23 |
4 | tm_min(分) | 0 - 59 |
5 | tm_sec(秒) | 0 - 61 |
6 | tm_wday(weekday) | 0 - 6(0表示周日) |
7 | tm_yday(一年中的第几天) | 1 - 366 |
8 | tm_isdst(是否是夏令时) | 默认为-1 |
Peewee使用
字段类型表格
Field Type | Sqlite | Postgresql | MySQL |
---|---|---|---|
CharField | varchar | varchar | varchar |
FixedCharField | char | char | char |
TextField | text | text | longtext |
DateTimeField | datetime | timestamp | datetime |
IntegerField | integer | integer | integer |
BooleanField | integer | boolean | bool |
FloatField | real | real | real |
DoubleField | real | double precision | double precision |
BigIntegerField | integer | bigint | bigint |
SmallIntegerField | integer | smallint | smallint |
DecimalField | decimal | numeric | numeric |
PrimaryKeyField | integer | serial | integer |
ForeignKeyField | integer | integer | integer |
DateField | date | date | date |
TimeField | time | time | time |
TimestampField | integer | integer | integer |
BlobField | blob | bytea | blob |
UUIDField | text | uuid | varchar(40) |
BareField | untyped | not supported | not supported |
peewee 超级轻量的一个ORM模块, 而且操作数据非常之简单。
根据数据库表生成模型
python -m pwiz -e mysql -H localhost -p3306 -uroot -Pkkd93kd web_db > db.py
模型样例
from peewee import *
database = MySQLDatabase('web_db', **{'host': 'localhost', 'password': 'kkd93kd ', 'port': 3306, 'user': 'root'})
class UnknownField(object):
pass
class BaseModel(Model):
class Meta:
database = database
class SyShieldOrder(BaseModel):
_id = PrimaryKeyField()
order_up_day = IntegerField(null=True)
order_up_hours = IntegerField(null=True)
order_up_moon = IntegerField(null=True)
order_up_quarter = IntegerField(null=True)
order_up_week = IntegerField(null=True)
order_up_year = IntegerField(null=True)
tu_shopid = CharField(null=True)
class Meta:
db_table = 'sy_shield_order'
class SyShieldUser(BaseModel):
_id = PrimaryKeyField()
tu_account = CharField(null=True)
tu_area = CharField(null=True)
tu_city = CharField(null=True)
tu_commence = DateField(null=True)
tu_contract = DateField(null=True)
tu_cost = IntegerField(null=True)
tu_domain = CharField(null=True)
tu_nick = CharField(null=True)
tu_platform = CharField(null=True)
tu_province = CharField(null=True)
tu_realcost = IntegerField(null=True)
tu_shopid = CharField(null=True)
tu_version = CharField(null=True)
class Meta:
db_table = 'sy_shield_user'