Django框架篇
Django框架
1.HTTP超文本传输协议
8中请求方法
GET , POST ,HEAD ,PUT ,DELETE , TRACE ,OPTIONS ,CONNCT
状态码
1xx ;服务器收到请求,进一步处理
2xx :正常 200 ok
3xx : 重定向
4xx : 请求错误 403 404
5xx : 服务器错误
2.web框架
本质:socket服务端
功能:
socket收发消息 wsgi wsgiref uwsgi
根据不同的路径返回不同的内容
返回动态页面(字符串的替换,模板的渲染jinja2)
3.Django的MTV模式
Model(模型): 负责业务对象与数据库的对象(ORM)
Template(模板) : 负责如何把页面展示给用户
View(视图):负责业务逻辑,并在适当的时候调用Model和Template
此外Django还有一个urls分发器,它的作用是将一个个YRL的页面请求分发给不同的view处理,view再调用相应的Model和Template
4.Django常见命令
下载django
pip3 install django ==1.11.23 -i源地址
创建Django项目
django-admin startproject 项目名
代码创建的项目没有模板的存放文件夹,而pycharm中默认创建了.所以可以通过os.mkdir(os.path.join(BASE_DIR,'templates'))创建该路径,并在表单中的DIRS后的空列表添加拼接的路径
启动Django项目
python manage.py runserver 0.0.0.0:80
创建APP
一个Django项目可以分为多个APP,用来隔离不同功能模块的代码
python manage.py startapp app01
5.简单使用
设计url ,有对应函数 ,完成函数
6.静态文件的配置
STATIC_URL = '/static/' # 别名
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
STATICFILES_DIRS = [ #按照列表的顺序进行查找
os.path.join(BASE_DIR, 'x1'),
os.path.join(BASE_DIR, 'static'),
os.path.join(BASE_DIR, 'x2')
]
7.登陆的实例
form表单
action 提交的地址 method post
input 需要有name
submit 提交的按钮或者input
目前提交post请求,注释一个csrf 中间件
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]`前端模板 http://www.jq22.com
8.app
新建APP
python manage.py startapp app名称
注册APP
在settings中
INSTALLED_APPS = [
'app01',
'app01.apps.App01Config', # 推荐写法
]
目录
admin.py django admin
apps.py app的信息
models.py 模型 model 跟数据库有关
views.py 写函数
9.orm
使用mysql数据库的流程
创建一个mysql数据库;
在settings中配置数据库:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 引擎
'NAME': 'day53', # 数据库名称
'HOST': '127.0.0.1', # IP
'PORT': 3306, # 端口号
'USER': 'root', # 用户名
'PASSWORD': '123' # 密码
}
}使用pymysql模块连接mysql数据库。
写在与settings同级目录下的init.py中
import pymysql
pymysql.install_as_MySQLdb()写对应关系,在app下的models.py中写类。
class User(models.Model):
username = models.CharField(max_length=32) # username varchar(32)
password = models.CharField(max_length=32) # password varchar(32)执行数据库迁移的命令
python manage.py makemigrations # 记录下models.py的变更记录
python manage.py migrate # 变更记录同步到数据库
Django框架篇的更多相关文章
- Django 框架篇(四) : 视图(view)详解 以及 路由系统(url)
|--Django的View(视图) |-- CBV和FBV: |-- 给视图增加装饰器: |-- request对象: |-- response对象: |-- Django的路由系统(url): | ...
- Django框架之第五篇(模板层) --变量、过滤器、标签、自定义标签、过滤器,模板的继承、模板的注入、静态文件
模板层 模板层就是html页面,Django系统中的(template) 一.视图层给模板传值的两种方法 方式一:通过键值对的形式传参,指名道姓的传参 n = 'xxx'f = 'yyy'return ...
- Python学习—框架篇之初识Django
什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所有的W ...
- Django框架【基础篇】
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...
- 框架----Django框架(基础篇)
一.基本配置 一.创建django程序 终端命令:django-admin startproject sitename IDE创建Django程序时,本质上都是自动执行上述命令 其他常用命令: pyt ...
- Windows上python开发--2安装django框架
Windows上python开发--2安装django框架 分类: 服务器后台开发2014-05-17 21:22 2310人阅读 评论(2) 收藏 举报 python django 上一篇文章中讲了 ...
- Django框架之中间件与Auth
Django框架之中间件与Auth模块一 cbv加装饰器 -先导入:from django.utils.decorators import method_decorator -1 可以在方法上加装饰器 ...
- 基于Django框架对MongoDB实现增删改查
在上一篇中,咱们已经实现了Scrapy框架爬取数据,并且存储到Mongodb数据库, 接下来呢,,,,,,,,,,,,, 咱们就要对这些数据进行操作. 目标:从Mongodb数据库取出数据,通过Dja ...
- Python学习笔记_04:Django框架简介
目录 1 什么是Django? 2 Django框架的开发环境搭建 3 Django操作MySql数据库简介 4 功能强大的Django管理工具应用 1 什么是Django? Django是应用于We ...
随机推荐
- 在Centos7下源代码安装配置Nginx
1.安装前准备开发环境安装pcre开发包:yum install -y pcre-devel 安装编译源码所需的工具和库:yum install gcc gcc-c++ ncurses-devel p ...
- B站 React教程笔记day1(4)调色板案例
视频地址 main.js import React from "react" import { render } from "react-dom" import ...
- bugku-Web-多次(异或注入,判断被过滤的关键字)
进去看到url感觉是sql注入, 加上',报错但是%23不报错,加上'--+,也不报错,说明可以用--+注释 加上' or 1=1--+,报错 尝试' oorr 1=1--+,正常 说明or被过滤了. ...
- oo第四单元及课程总结
一.第四单元作业总结 第四单元有两次作业,第十三次作业是实现一个UML类图解析器,可以通过输入一些查询指令来查询一些类图的信息.程序的主干部分已经提供,我们的任务就是实现给出的接口,过程并不繁琐.第十 ...
- redis常用命令--zsets
zsets常用命令: zadd key score1 mb1 [score2 mb2....]:像key中添加元素和这个元素的分数,如果元素已经存在,则替换分数. zscore key mb :获取k ...
- MySql 的操作指令(window)
1.登录: mysql -uroot -p 2.查看所有数据库: show databases 3.切换数据库 : use databasename(数据库名称) 4.查看数据库的所有表格 ...
- 动态改变tableHeaderView的显示隐藏及高度
改变tableHeaderView的高度: UIView *headerView = _tableView.tableHeaderView; headerView.height = 10; 当设置高度 ...
- PHP的一个小tips (关于=和==或者===的使用)
由于我在项目中,很多场景判断等式成立的时候 都习惯把值放在==前面(例如 1 == $nStatus), 今天有个同事揪着我问为啥总这样写,回答之后今天也稍作记录下吧. 如果正常些 $nStatus ...
- 【转帖】使用了 Service Mesh 后我还需要 API 网关吗?
使用了 Service Mesh 后我还需要 API 网关吗? https://www.kubernetes.org.cn/6762.html api gateway和istio 是不一样的 追求不一 ...
- while read line do done < file
zzx@zzx120:~/test1$ cat file.txt 1122zzx@zzx120:~/test1$ cat ./read.sh #!/bin/bashwhile read line ...