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中跟数据库相关的代码,就必须重新执行上述两条命令