Django

python三大主流web框架

Django:
特点:大而全 自带的功能特别多
不足:有时候过于笨重

flask
特点:小而精 自带的功能特别少,第三方模块特别多
不足:比较依赖于第三方的开发者

tornado
特点:异步非阻塞 支持高并发,牛逼到甚至可以开发游戏服务器
不足:暂时你不会


A:socket部分
B:路由与试图函数对应关系
C:模板语法


Django基本操作
密令行操作
1创建Django项目
django-admin startproject 项目名

2启动django项目
一定要先切换到项目目录下
python3 manage.py runserver

3创建应用(最重要)
python3 manage.py startapp app名字

注意事项:
1一个django项目类似于一个空壳子,本身没有任何的内容
应用类似于一个个的功能模块

2创建应用之后一定先去配置文件中注册才能生效
installed_apps = {
‘app01‘ #简写
‘app01.apps.app01config‘ #全称

 

pycharm创建
1命令行创建不会自动创建templates文件夹并且也不会自动配置路径
DIR:[os.path.join(BASE_DIR,‘templates‘)]

2.pycharm会自动创建并且自动配置路径

3pycharm还可以自动帮你创建一个应用并且自动注册(只能创一个)

pycharm操作
1new project

2启动
1还是用命令行启动
2点击绿色小箭头即可

3创建应用
1pycharm提供的终端直接输入完整命令
2pycharm tools run manage.py task提示

4修改端口号以及创建server
edit confi

应用:
django是一款专门开发app的web框架


django主要文件介绍
mysite项目文件夹
-mysite文件夹
--settings.py 配置文件
--urls.py 路由与视图函数对应关系
--wsgi.py wsgiref模块
-manage.py django的入口文件
-db.sqlite3 django自带sqlite3数据库

-app01文件夹
--admin.py django后台管理
--apps.py 注册使用
--models.py 数据库相关的 模型类(orm)
--test.py 测试文件
--views.py 视图函数


命令行与pycharm创建的区别
1命令行创建不会自动有template文件夹,需要你自己手动创建
pycharm会自动帮你创建并且还会自动在配置文件中配置对应的路径

在命令行创建django项目的时候不单单要创建template文件夹,还需要去
配置文件中配置路径

2创建出来的应用一定要去配置文件中注册
在pycharm创建项目的时候会自动帮你注册


django必会的
HttpResponse
返回字符串类型的数据

render
返回一个html文件

redirect
重定向


静态文件配置
我们将HTML文件默认放在templates文件夹下
我们将网站所使用的静态文件默认放在static文件夹下

静态文件
前端已经写好的,能够直接调用使用的文件
网站写好的js文件
网站写好的css文件
网站用到的图片文件
第三前端框架
....
拿来可以直接使用
django默认不会自动帮你创建static文件夹,需要你自己手动创建

一般情况下我们在static文件夹下还会进一步划分处理
static
-js
-css
-img
其他第三方文件

静态文件配置 setting.py
STATICPLES_DIRS =[
os.path.join(BASE_DIR,‘static‘)
]


request对象方法初识

request.method 返回请求形式 并且全是大写的字符串形式

request.POST 获取用户post请求提交的普通数据不包含文件
request.POST.get() 只获取列表的最后一个元素
request.POST.getlist() 直接将列表取出

request.GET 获取url问号后面携带的参数
request.GET.get() 只获取列表的最后一个元素
request.GET.getlist() 直接将列表取出

get请求携带的数据是有大小限制的,大概好像只有4kb左右
pos请求没有限制


pycharm链接数据库
提前建好库

django链接数据库(mysql)
默认用的是sqlite

1在配置文件中配置
DATABASES = {
‘default’:{
‘ENGINE‘ : ‘django.db.backendsmysql‘,
‘NAME‘ : ‘数据库名‘,
‘USER‘ : ‘root‘,
‘PASSWORD‘ : ‘密码‘,
‘HOST‘ : ‘127.0.0.1‘,
‘PORT‘ : 3306,
‘CHARSET‘ : ‘utf8‘
}
}

2代码声明
django默认用的是mysqldb模块连接mysql
但是该模块的兼容性不好,需要手动改为pymysql连接

你需要告诉django不要用mysqldb而是用pymysql
在项目名下的imit或者任意应用名下的imit文件中书写以下代码
import pymysql
pymsql .install_as_MYSQLdb()


django ORM简介
ORM,对象关系映射
作用,能够让一个不懂sql的小白也能够通过python面向的代码快捷的操作数据库
不足之处:封装程度太高,有时候sql语句的效率偏低,需要你自己写sql语句

应用下面的model.py文件
1先去models.py中书写模型类
当你没有创建主键字段的时候orm会自动创建一个名为ID的主键字段
class User(models.Model):

id = models.AutoField(primary_key=True)

username = models.CharField(max_length=32)

password = models.IntegerField()

2数据库迁移密令
python3 manage.py makemigrations 将操作记录记录到(migration文件夹)

python3 manage.py migrate 将操作真正同步到数据库中

只要修改了model.py中跟数据库相关的代码,就必须重新执行上述两条命令

 

Django

上一篇:ArcGIS Pro2.7 Revit数据处理要点


下一篇:IDEA中常使用的快捷键