Python Web 框架 Django
一、特点
1、快速开发(用python开发、用数据库ORM系统)
2、大量内置应用(后台管理系统admin、用户认证系统auth、回话系统sessions)
3、安全性高(表单验证、SQL注入、跨站点攻击)
4、易扩展(需求变更,增加应用即可)
二、目录简介
1、wsgi.py (Python web service gateway interface) Python应用与web服务器之间的接口
2、urls.py 路径映射
3、settings.py (项目总配置文件,包含数据库、web应用、时间等配置)
4、__init__.py 声明模块
app
1、__init__.py 声明模块
2、migrations 数据移植(迁移)模块
3、admin.py 该应用的后台管理系统配置
4、apps.py 该应用的一些配置,Django-1.9以后自动生成
5、modles.py 数据模块,使用ORM框架
6、test.py 自动化测试模块
7、view.py 执行响应的代码所在的模块,代码逻辑处理的主要地点(大部分代码都写在此处)
三、常用命令
1、创建项目 django-admin startproject myblog
2、创建app python manage.py startapp blog (创建app后需在根目录下setting配置app)
3、生成数据表
python manage.py makemigrations app名(可选)
python manage.py migrate
4、查看SQL语句 python manage.py sqlmigrate 应用名 文件id
5、创建用户 python manage.py createsuperuser
四、建表常用字段
1、models.AutoField 自增列= int(11)
如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列设置为主键 primary_key=True。
2、models.CharField 字符串字段
必须 max_length 参数
3、models.BooleanField 布尔类型=tinyint(1)
不能为空,Blank=True
4、models.ComaSeparatedIntegerField 用逗号分割的数字=varchar
继承CharField,所以必须 max_lenght 参数
5、models.DateField 日期类型 date
对于参数,auto_now =True则每次更新都会更新这个时间;auto_now_add 则只是第一次创建添加,之后的更新不再改变。
6、models.DateTimeField 日期类型 datetime
同DateField的参数
7、models.Decimal 十进制小数类型= decimal
必须指定整数位max_digits和小数位decimal_places
8、models.EmailField 字符串类型(正则表达式邮箱)=varchar
对字符串进行正则表达式
9、models.FloatField 浮点类型= double
10、models.IntegerField 整形
11、models.BigIntegerField 长整形
五、配置admin
class ArticleAdmin(admin.ModelAdmin):
list_display = ('title', 'content', 'pub_time') 在admin系统显示的字段
list_filter = ('pub_time', ) 在admin系统添加过滤器
来源:oschina
链接:https://my.oschina.net/u/4404723/blog/4083809