web框架本质:
    浏览器:socket客户端
    服务器:socket服务端
   
   
1.自己写socket服务端(最傻)
        #!/usr/bin/env python
        # -*-
coding:utf-8 -*-
        import socket

def handle_request(client):
            date =
client.recv(1024)
            client.send(b'HTTP/1.1 200
OK\r\n\r\n')
            client.send(b'Hello')
        def
main():
            sock =
socket.socket(socket.AF_INET,socket.SOCK_STREAM)
           
sock.bind(('localhost',8000))
            sock.listen(5)
            while
True:
                conn,addr = sock.accept()
               
handle_request(conn)
                conn.close()
        if __name__ ==
'__main__':
            main()
    2.次之(web框架的开发者) 
       
WSGI:通用网关服务接口
            server_names = {
                'cgi':
CGIServer,
                'flup': FlupFCGIServer,
               
'wsgiref': WSGIRefServer,
                'waitress':
WaitressServer,
                'cherrypy':
CherryPyServer,
                'paste': PasteServer,
               
'fapws3': FapwsServer,
                'tornado':
TornadoServer,
                'gae': AppEngineServer,
               
'twisted': TwistedServer,
                'diesel':
DieselServer,
                'meinheld': MeinheldServer,
               
'gunicorn': GunicornServer,
                'eventlet':
EventletServer,
                'gevent': GeventServer,
               
'geventSocketIO':GeventSocketIOServer,
                'rocket':
RocketServer,
                'bjoern' : BjoernServer,
               
'auto': AutoServer,
            }
       
Python中的模块来实现web框架
            from wsgiref.simple_server import
make_server
            def RunServer(environ,
start_response):
                # environ 用户请求的相关信息
                #
start_response  设置用户相应的相关信息
                start_response('200 OK',
[('Content-Type', 'text/html')])
                return
[bytes('<h1>Hello, web!</h1>', encoding='utf-8'), ]
           
if __name__ == '__main__':
                httpd = make_server('localhost',
8000, RunServer)
                print("Serving HTTP on port
8000...")
                httpd.serve_forever()
               
   
3.现成的web框架 Bottle,Flask,Django,tornado(不是用django写的)

四,Django
    web框架分两类:
    (功能齐全)
        Django       
大而全
        Bottle,Flask,Tornado,Webpy
    安装:
        1.pip3 install
django
        2.解压
            python3 setup.py install
           
可执行文件  django-admin.exe 目录在python3下的script下
           
#添加环境变量
           
        3.基本使用
           
创建project
                django-admin startproject
projectname(Mysite)
               
               
mysite
                    - mysite        (配置文件)
                    -
manage.py        (管理project)
                    -
app(cmdb)
                        - models.py    
数据库操作
                        - admin.py        
配置django自带的后台管理
                        - apps.py        
当前app的配置
                        - test.py       
单元测试
                        - views.py        做业务处理
           

            运行
                cd mysite
                python3
manage.py runserver 127.0.0.1:8000
               
           
创建app(处理业务逻辑)
                cd mysite
                python3 manage.py
startapp cmdb
                python3 manage.py startapp
monitor(监控)
               
        django的基本使用
           
urls中的配置
                from cmdb(appname) import views
               
urlpatterns = [
                    url(r'^admin/',
admin.site.urls),#默认的管理界面
                    url(r'^index/',
views.index),#自己配置的指向views.index
                ]
           
views中的配置
                from django.shortcuts import
HttpResponse
                # 至少一个参数request
                #
request封装用户请求相关信息
                def index(request):
                   
print(request.GET)
                    return HttpResponse('ok')

web框架和django基础(粗糙版)的更多相关文章

  1. python笔记-19 javascript补充、web框架、django基础

    一.JavaScript的补充 1 正则表达式 1.1 test的使用 test 测试是否符合条件 返回true or false 1.2 exec的使用 exec 从字符串中截取匹配的字符 1.3 ...

  2. Web框架和Django基础

    核心知识点 1.web应用类似于一个socket客户端,用来接收请求 2.HTTP:规定了客户端和服务器之间的通信格式. 3.一个HTTP包含两部分,header和body,body是可选,\r\n分 ...

  3. web框架之Django基础

    1. Django的简介 Django是一个由python写成的开放源代码的Web应用框架. Django的目的是使常见的Web开发任务,快速和容易. 2. Django框架的特点 1. 遵循MVC开 ...

  4. Python web 框架之 Django 基础搭建服务

    1. 需要安装 Python 和 Django 环境,Python 环境的安装我就不在多说了 2. 安装框架 Django Django 安装,推荐先装个 pip吧,easyinstall也可以,然后 ...

  5. day15 web框架和Django基础

    参考博客: http://www.cnblogs.com/yuanchenqi/articles/6788872.html http://www.cnblogs.com/yuanchenqi/arti ...

  6. Web框架之Django基础篇

    Web框架之Django基础篇   本节介绍Django 简介,安装 基本配置及学习  路由(Urls).视图(Views).模板(Template).Model(ORM). 简介 Django 是一 ...

  7. Python开发【第二十一篇】:Web框架之Django【基础】

    Python开发[第二十一篇]:Web框架之Django[基础]   猛击这里:http://www.cnblogs.com/wupeiqi/articles/5237704.html Python之 ...

  8. Python开发【第十八篇】Web框架之Django【基础篇】

    一.简介 Python下有许多款不同的 Web 框架,Django 是重量级选手中最有代表性的一位,许多成功的网站和APP都基于 Django. Django 是一个开放源代码的Web应用框架,由 P ...

  9. Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)

    摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大主流Web ...

随机推荐

  1. 同样是IT培训,为什么人家月薪过万,你才几千,问题在哪?!

    听过一句话"360行,行行转IT",虽然有些夸张,但也不难看出IT行业的火爆程度.从李总理提的"互联网+大数据"开始,中国的这场"互联网+" ...

  2. float、absolute、inline-block三者区别

    0.前言 float属性在css2中是一个热门的属性,被广泛应用于布局之中,同时由于不当使用float带来的问题也非常多,本文结合自己对float的理解以及实际项目中碰到float的相关问题,做一个详 ...

  3. xxe漏洞检测及代码执行过程

    这两天看了xxe漏洞,写一下自己的理解,xxe漏洞主要针对webservice危险的引用的外部实体并且未对外部实体进行敏感字符的过滤,从而可以造成命令执行,目録遍历等.首先存在漏洞的web服务一定是存 ...

  4. java中final 关键字的作用

    final 关键字的作用 java中的final关键字可以用来声明成员变量.本地变量.类.方法,并且经常和static一起使用声明常量. final关键字的含义: final在Java中是一个保留的关 ...

  5. 算法题丨Remove Element

    描述 Given an array and a value, remove all instances of that value in-place and return the new length ...

  6. OrientDB入门(1)Getting Started

    Running OrientDB the First Time First, download and extract OrientDB by selecting the appropriate pa ...

  7. 证明二叉查找树所有节点的平均深度为O(logN)

    数据结构与算法分析(c语言描述)第4章 P78 概念一:一棵树所有节点的深度和称为内部路径长 令D(N)为一棵有N节点的树的内部路径长么,即有D(1)=0, 设一棵树的左子树的内部路径长为D(i),则 ...

  8. mysql中的视图、事务和索引

    视图: 对于一个sql查询,如果发生了修改,就需要修改sql语句. 我们可以通过定义视图来解决问题.改变需求之后就改变视图. 视图是对查询的封装 定义视图: create view 视图名称 as s ...

  9. Python基础--函数的定义和调用

    一.函数的作用: 提高代码的可读性,减少代码的冗余,方便调用和修改,组织结构清晰 二.函数的定义:函数遵循先定义后调用的原则 1.无参函数 def funcname(): #def 是关键字,后跟函数 ...

  10. codeforces round 425 div2

    A. Sasha and Sticks 水题,判断一下次数的奇和偶就可以的. B. Petya and Exam 赛上的时候没有写出来,orz,记录一下吧. 题意:给出一个模式串,可能会有?和*两种符 ...