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