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. WIN7 如何将BAT文件附加到任务栏

    1.桌面有个 a.bat 文件2.将a.bat 改名为 a.exe3.将 a.exe 拉到任务栏4.修改桌面的 a.exe 回 a.bat5.打开C:\Users\Administrator\AppD ...

  2. Windows自带压缩解压工具

    压缩一个文件: 命令行:makecab fileName.txt fileName.zip 鼠标操作:选中文件-->鼠标右键-->Send to-->Compressed (zipp ...

  3. Codeigniter 3.0 相关文档 part two

    分页 首先,配置 $this->load->library('pagination'); $config = array(); // $this->config->load(' ...

  4. Online, Asynchronous Schema Change in F1

    F1: A Distributed SQL Database That Scales   http://disksing.com/understanding-f1-schema-change   ma ...

  5. 隐藏ASP.NET站点的HTTP Headers

    站点的Headers里面会暴露一些服务器的环境,例如IIS版本.语言的环境等 有时候我们不想让用户了解这类信息那么可以这样做: 1.修改web.config 在 <system.webServe ...

  6. linux权限系统

    Linux权限分为 r(4):可读 , w(2)可写 , x(1)可执行 , -无权限 , 可以通过ls -l 文件名查看权限 , 如 ls -l 文件名 输出: -rwxrw---x. root r ...

  7. Oracle之ORDER BY

    ------------基本查询--1.查询出的是一张虚拟的结果表-----基本语法---- * 所有列(字段)select * from emps; -----查询指定字段select employ ...

  8. struts2所有组件

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

  9. dom4j学习

    在使用xml读写的过程中,用到了dom4j,也算是一个比较主流的xml包了,在使用的过程中,将学习经历记录一下,以后查阅也比较方便. 首先是在pom中添加依赖,在Maven的中心库搜索后选择了该包: ...

  10. 基于 debootstrap 和 busybox 构建 mini ubuntu

    基于 debootstrap 和 busybox 构建 mini ubuntu 最近的工作涉及到服务器自动安装和网络部署操作系统,然后使用 ansible 和 saltsatck 进行配置并安装 op ...