Python的WEB框架有Django、Tornado、Flask 等多种

web框架本质

众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端。

常用web框架

MVC

Model  View  Controller

数据库 模板文件 业务处理

MTV

Model Template View

数据库 模板文件 业务处理

django是基于MTV的web框架
model数据库的操作 template模版文件 view业务处理

学习Django

Django框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能

1.安装

1)打开cmd,进入到python安装路径下的Scripts;

2)使用pip安装:pip install Django

3)添加环境变量:python安装路径下的Scripts;

2.创建django projcet

django-admin startproject mysite

model数据库的操作 view模版文件 controller业务处理


3.Django请求生命周期

   -> URL对应关系(匹配) -> 视图函数 -> 返回用户字符串
   -> URL对应关系(匹配) -> 视图函数 -> 打开一个HTML文件,读取文件

 配置文件


1)数据库:


DATABASES = {


'default': {


'ENGINE': 'django.db.backends.mysql',


'NAME':'dbname',


'USER': 'root',


'PASSWORD': 'xxx',


'HOST': '',


'PORT': '',


}


}


数据库为MySQL时,__init__下需要引入

import pymysql

pymysql.install_as_MySQLdb()


手动创建数据库名称

  mysql -u root -p

     show databases;

  create database 数据库名称;
  show tables;

静态文件:


STATICFILES_DIRS = (


os.path.join(BASE_DIR,'static'),


)



模板:


TEMPLATE_DIRS = (


os.path.join(BASE_DIR,'templates'),


)




创建APP


# 切换到Django项目目录,执行命令


python manage.py startapp cmdb



# 目录结构


- cmdb


- migrations  #数据库操作记录(只是修改表结构的记录)


- init      #表示python数据包(python3中有无均可)


- admin      #Django为我们提供的后台管理


- apps      #配置当前app


- models     #创建数据库表结构,写指定的类,通过命令可以创建数据库结构


- tests      #单元测试


- views      #写业务逻辑代码,最重要的就是这个文件了


用户来的时候找URL的对应的关系
内部就是创建一个sock对象,把请求给函数,函数处理完把结果返回给用户

Django 支持缓存 支持连接数据库,静态文件处理、找模版、加密
wsgiref 自己写Socket太麻烦,python有一个自定义模块wsgiref,用这个模块可以帮我们创建socket对象,我们只写处理请求的函数就行。
Django不负责写socket 也是依赖于wsgi(wsgi规则或接口),
wsgi的本质就是创建socket
上线的时候不能用默认的wsgi,需要用到第三方的模块uwsgi+nginx 程序就能跑起来

Orm ---叫关系对象映射

让数据库自动生成表的命令有
python manage.py makemigrations
python manage.py makegrate
---通过manage.py来管理程序



request.GET.get('',None) # 获取get请求发来的数据


request.POST.get('',None) # 获取post请求发来的数据

request.FILES # 获取上传文件

request.path_info()# 获取上次文件路径

request.method()# 请求是什么方式(get还是Post)

return HttpResponse("字符串")


return render(request, "HTML模板的路径")


return redirect('/只能填URL')


 

python:Django的更多相关文章

  1. 基于Python+Django的Kubernetes集群管理平台

    ➠更多技术干货请戳:听云博客 时至今日,接触kubernetes也有一段时间了,而我们的大部分业务也已经稳定地运行在不同规模的kubernetes集群上,不得不说,无论是从应用部署.迭代,还是从资源调 ...

  2. python——django使用mysql数据库(二)

    上一篇中,我们已经讲述了如何初始化一个django数据库,这一章就来讲讲在实际的项目中如何使用我们初始化的数据库呢? 如还未进行初始化数据库操作,请参考python——django使用mysql数据库 ...

  3. python——django使用mysql数据库(一)

    之前已经写过如何创建一个django项目,现在我们已经有了一个小骷髅,要想这个web工程变成一个有血有肉的人,我们还需要做很多操作.现在就先来介绍如何在django中使用mysql数据库. 前提:已经 ...

  4. 如何查看PYTHON Django的保存路径

    如何查看PYTHON Django的保存路径 $ python -c " import sys sys.path = sys.path[1:] import django print(dja ...

  5. python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API

    python  Django教程  之 模型(数据库).自定义Field.数据表更改.QuerySet API 一.Django 模型(数据库) Django 模型是与数据库相关的,与数据库相关的代码 ...

  6. python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器

    python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 1. 创建一个 zqxt_tm ...

  7. python Django教程 之 安装、基本命令、视图与网站

    python  Django教程  之 安装.基本命令.视图与网站 一.简介 Django 中提供了开发网站经常用到的模块,常见的代码都为你写好了,通过减少重复的代码,Django 使你能够专注于 w ...

  8. python django 多级业务树形结构规划及页面渲染

    概述: 在项目中,父级到子级结构并不少见,如果仅仅的两层树形结构,我们可以使用数据库的外键设计轻松做到,子级业务表设计一字段外键到父级业务表,这样子到父.父到子的查询都非常简单. 但是往往父子结构会有 ...

  9. Python.Django视频教程(全13集)

    Python.Django视频教程(全13集)教程目录: 下载地址:http://www.fu83.cn/thread-205-1-1.html

  10. Python+Django+Eclipse 在Windows下快速开发自己的网站

    一.配置开发环境 我的开发环境是:Python3.3.2 + Django1.5.2 + Eclipse 1.安装Python 下载地址:http://www.python.org/getit/ 安装 ...

随机推荐

  1. 【转】jquery.cookie.js的使用

    Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是 ...

  2. fenye

    <div class="ptb20 navpages"> <span class=" ">共有<span class=" ...

  3. Linux下安装性能测试负载机LG

    系统:CentOS release 6.6 (Final)  x86_64 安装包: 1.LRLG_00031.iso [Load Generator Standalone (Linux 64-bit ...

  4. Spring @Autowired注解在utils静态工具类

    [转] 使用场景:在一个静态方法中,如何使用以下注入: @Autowired private ItemMapper itemMapper; @Component public class TestUt ...

  5. pdf.js pdfdom.js使用(转)

    开篇语: 最近工作需要做一个借款合同,公司以前的合同都是通过app端下载,然后通过本地打开pdf文件,而喜欢创新的我,心想着为什么不能在线H5预览,正是这个想法,说干就干,实践过程总是艰难的,折腾了3 ...

  6. java中的接口interface

    关于接口 接口描述了实现了它的类拥有什么功能.因为Java是强类型的,所以有些操作必须用接口去约束和标记.接口作为类的能力的证明,它表明了实现了接口的类能做什么. 类似与class,interface ...

  7. struts2所有组件

    struts2所有组件(动作,结果,拦截器) 动作在框架中可作为MVC模式的模型.这个角色的主要职责是控制业务逻辑,动作使用execute()方法来实现这个功能. 这个方法中的代码应该只关注与请求相关 ...

  8. WebView 一直展示加载中。。。

    webview加载html5页面总是一直在加载中,加载很慢或干脆加载不出来, 听浏览器的大牛说可能是 js导致的,尝试在onpause里加入mWebView.pauseTimers(), onResu ...

  9. [CC]LOD技术

    ccGLWindow::paintGL() | ccGLWindow::fullRenderingPass(...) | ccGLWindow::drawBackground(context, ren ...

  10. js判断手指滑动方向(移动端)

    var startx, starty; //获得角度 function getAngle(angx, angy) { return Math.atan2(angy, angx) * 180 / Mat ...