Python自学笔记


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)
0tm_year(年)比如2011
1tm_mon(月)1 - 12
2tm_mday(日)1 - 31
3tm_hour(时)0 - 23
4tm_min(分)0 - 59
5tm_sec(秒)0 - 61
6tm_wday(weekday)0 - 6(0表示周日)
7tm_yday(一年中的第几天)1 - 366
8tm_isdst(是否是夏令时)默认为-1

Peewee使用

字段类型表格

Field TypeSqlitePostgresqlMySQL
CharFieldvarcharvarcharvarchar
FixedCharFieldcharcharchar
TextFieldtexttextlongtext
DateTimeFielddatetimetimestampdatetime
IntegerFieldintegerintegerinteger
BooleanFieldintegerbooleanbool
FloatFieldrealrealreal
DoubleFieldrealdouble precisiondouble precision
BigIntegerFieldintegerbigintbigint
SmallIntegerFieldintegersmallintsmallint
DecimalFielddecimalnumericnumeric
PrimaryKeyFieldintegerserialinteger
ForeignKeyFieldintegerintegerinteger
DateFielddatedatedate
TimeFieldtimetimetime
TimestampFieldintegerintegerinteger
BlobFieldblobbyteablob
UUIDFieldtextuuidvarchar(40)
BareFielduntypednot supportednot 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'
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值