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. 从Nest到Nesk -- 模块化Node框架的实践

    文: 达孚(沪江Web前端架构师) 本文原创,转至沪江技术 首先上一下项目地址(:>): Nest:https://github.com/nestjs/nest Nesk:https://git ...

  2. 微信小程序轮播图

    swiper标签 <!--index.wxml--> <swiper class="swiper" indicator-dots="true" ...

  3. 织梦cms/dedecms清理冗余废弃未引用图片方法

    原理描述: 在原有织梦后台菜单中增加"清理冗余图片按钮",实现清理冗余图片的功能. 操作步骤: 1. 打开后台dede\sys_sql_query.php代码 在该文件中搜索如下代 ...

  4. django models的点查询/跨表查询/双下划线查询

    django models 在日常的编程中,我们需要建立数据库模型 而往往会用到表与表之间的关系,这就比单表取数据要复杂一些 在多表之间发生关系的情形下,我们如何利用models提供的API的特性获得 ...

  5. app测试中遇到问题总结

    工作总结: 1 这两天由于工作,需要进行抓包,使用了Charles,fidder,发现一个坑点: charles没有抓到返回值的时候,默认是不在列表显示请求信息的,能不能设置,我就不知道了,但是可以在 ...

  6. Mysql数据库mys和ora库的备份与恢复脚本

    !/bin/bash Time=$(date +%Y%md%H%M%S) Back_dir="$HOME/mysqlback/${Time}" function Detect_u_ ...

  7. HTTP协议扫盲(二)HTTP协议的请求方法、请求头和响应头

    一.HTTP请求方法 Http协议定义了很多与服务器交互的方法,最基本的有4种,分别是GET,POST,PUT,DELETE. 一个URL地址用于描述一个网络上的资源,而HTTP中的GET, POST ...

  8. C#程序编写规范

    代码书写规则 1.尽量使用接口,然后使用类实现接口,提高程序的灵活性. 2.一行不要超过80个字符. 3.尽量不要手工更改计算机生成的代码,若必须要改,一定要改为和计算机生成的代码风格一样. 4.关键 ...

  9. C#配置文件config的使用

    做程序的时候总会有一些参数,可能会调整,这时候一般情况下我都会写在配置文件里,这样方便一点. 配置文件的读取 <?xml version="1.0" encoding=&qu ...

  10. Codeforces Round #436 (Div. 2) D. Make a Permutation!

    http://codeforces.com/contest/864/problem/D 题意: 给出n和n个数(ai <= n),要求改变其中某些数,使得这n个数为1到n的一个排列,首先保证修改 ...