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. Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析

    mongodb和memcached不是一个范畴内的东西.mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据.mongodb和memcached不存在谁替换谁的问题. 和 ...

  2. requirejs使用

    实现模块化.按需加载. 一.配置参数. 1.baseUrl:以一个相对于baseUrl的地址来加载所有的代码.   data-main,使用它来启动脚本加载过程,而baseUrl一般设置到与该属性相一 ...

  3. shell 条件判断

    一.数值判断 INT1 -eq INT2           INT1和INT2两数相等为真 INT1 -ne INT2           INT1和INT2两数不等为真 INT1 -gt INT2 ...

  4. test [ ] 四类

    test可理解的表达式类型分为四类:     表达式判断     字符串比较     数字比较     文件比较 test xxx 可以简写成 [  xxx  ] 的形式,注意两端的空格.   1)判 ...

  5. Android 基于Android的手机邮件收发(JavaMail)之四(邮件的发送)

    上一个邮件的接受,因为不当操作,保存未完成,一切东西都得从头开始那就先从邮件发送来吧. 先下我们做一个较为简单的邮件发送 以下是源代码:相信看过上篇文章所给连接的人,对于javamail应该都有了一定 ...

  6. iostat 命令

    iostat -x 1 10 Linux 2.6.18-92.el5xen 02/03/2009 avg-cpu: %user %nice %system %iowait %steal %idle 1 ...

  7. SpringMVC常用配置-Controller返回格式化数据如JSON、XML的配置方式和机制

  8. 百度地图坐标纠偏和转换工具和DLL

    百度一直以来都是个即想装出一副拥抱互联网开放的样子,又为了短期商业利益封闭自己的公司,模仿谷歌地图,开放了自己的百度地图 API,为了防止别人盗用其数据和用户自由迁移,地图相比于火星坐标,又更加封闭, ...

  9. Unity3D 装备系统学习Inventory Pro 2.1.2 基础篇

    前言 前一篇 Unity3D 装备系统学习Inventory Pro 2.1.2 总结 基本泛泛的对于Inventory Pro 这个插件进行了讲解,主要是想提炼下通用装备系统结构和类体系.前两天又读 ...

  10. 通过Chrome浏览器检测和优化页面

    1.访问(http://www.cnblogs.com/viaiu/) 2.点击F12 前两步就在扯淡 3.点击Audits标签,进入测试界面 4.点击按钮开始检测 5.如下图可以进行页面加载资源的详 ...