Python Web 框架 Django

谁说我不能喝 提交于 2020-11-21 07:14:53

 

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系统添加过滤器

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!