django框架初探

1.web框架介绍

  web框架本质是一个socket服务端。每一个端口只能被一个程序监听。

  web程序分为两个部分:

  服务器程序:对socket服务器封装,解析http请求,发送http响应。

  应用程序:负责具体的业务逻辑。

  WSGI:(Web Service Gateway Interface)WSGI接口定义非常简单,它只要求Web开发者实现一个函数,就可以响应HTTP请求。

我们先编写hello.py,实现Web应用程序的WSGI处理函数:

  #hello.py

  def application(environ, start_response):

    start_response('200 OK', [('Content-Type', 'text/html')])

     return '<h1>Hello, web!</h1>'

上面的application()函数就是符合WSGI标准的一个HTTP处理函数,它接收两个参数:

  environ:一个包含所有HTTP请求信息的dict对象;

    start_response:一个发送HTTP响应的函数。

  application()函数必须由WSGI服务器来调用。Python内置了一个WSGI服务器,这个模块叫wsgiref,它是用纯Python编写的WSGI服务器的参考实现。所谓“参考实现”是指该实现完全符合WSGI标准,但是不考虑任何运行效率,仅供开发和测试使用。

然后,再编写一个server.py,负责启动WSGI服务器,加载application()函数:

  # server.py

 # 从wsgiref模块导入:from wsgiref.simple_server import make_server

# 导入我们自己编写的application函数:
from hello import application # 创建一个服务器,IP地址为空,端口是8000,处理函数是application:
httpd = make_server('', 8000, application)
print "Serving HTTP on port 8000..."
# 开始监听HTTP请求:
httpd.serve_forever()
确保以上两个文件在同一个目录下,然后运行server.py来启动WSGI服务器,启动成功后,打开浏览器,输入
http://localhost:8000/,就可以看到结果了。

web框架就是将web应用开发中通用的部分抽象出来,像造房子一样,形成一个框架,再去实现我们特定的功能。
常见的Python Web框架有:
  django 全能型
  tornado 优秀的异步框架
  web.py 小巧的web框架
  flask 优秀的轻量级的web框架
设计模式:
  mtv:
    m:model模型
    t:template 模型(页面)
    v:view 视图
  mvc:Model-View-Controller,中文名“模型-视图-控制器”。和mtv没有本质的区别。

2.django框架的介绍
环境搭建,django安装
准备环境:
ubuntu
python3.5+
pycharm 2017.1.5+专业版
MySQL 每创建一个新的django项目,都要新建一个python隔离环境。 隔离环境:
1.查看  workon
2.创建  mkvirtualenv -p /usr/bin/python3.6 envname
3.进入  workon envname
4.退出  deactivate
5.删除虚拟环境  rmvirtualenv envname 创建一个名为crm的python隔离环境 mkvirtualenv -p /usr/bin/python3.6 crm
安装一个django包:pip install django django简单操作:
1.创建项目:  django-admin startproject <projectname>

2.pycharm创建项目远程关联:

3.启动服务
命令行:python manage.py runserver ip:port 在项目根目录
(ip:0.0.0.0)

用pycharm配置:

第一个View:
项目和应用
项目:有一些设置的django
创建一个应用:python manage.py startapp appname
应用可以有多个,应用之间通过项目交互




 

django框架初探的更多相关文章

  1. Python Django 学习 (一) 【Django 框架初探】

    1. 简介: Python下有许多款不同的 Web 框架.Django是重量级选手中最有代表性的一位.2008年9月发布第一个版本,目前的Django版本应该是2.1. 2. 本文的环境 OS : W ...

  2. Django 框架初步了解

    Django框架初探 1.web框架介绍 本质 socket 服务端 : 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket.建立网络通信连接至少要一对端口号(s ...

  3. MVC其实很简单(Django框架)

    Django框架MVC其实很简单 让我们来研究一个简单的例子,通过该实例,你可以分辨出,通过Web框架来实现的功能与之前的方式有何不同. 下面就是通过使用Django来完成以上功能的例子: 首先,我们 ...

  4. Django框架-目录文件简介

    Rhel6.5 Django1.10 Python3.5 Django框架-目录文件简介 1.介绍Django Django:一个可以使Web开发工作愉快并且高效的Web开发框架. 使用Django, ...

  5. Django框架学习

    两个月前学习的Django框架,写了个简易婚恋调查网站,代码就懒得全贴了,有两张图记录下

  6. django框架的models

    在django的框架设计中采用了mtv模型,即Model,template,viewer Model相对于传统的三层或者mvc框架来说就相当对数据处理层,它主要负责与数据的交互,在使用django框架 ...

  7. Windows上python开发--2安装django框架

    Windows上python开发--2安装django框架 分类: 服务器后台开发2014-05-17 21:22 2310人阅读 评论(2) 收藏 举报 python django 上一篇文章中讲了 ...

  8. MySQL在Django框架下的基本操作(MySQL在Linux下配置)

    [原]本文根据实际操作主要介绍了Django框架下MySQL的一些常用操作,核心内容如下: ------------------------------------------------------ ...

  9. django框架介绍

    主要内容 1.        Django框架发展 2.        Django架构,MTV模式 3.        开发流程 4.        开发实例——Poll python下各种框架 一 ...

随机推荐

  1. [HNOI2008]水平可见直线 单调栈

    题目描述:在xoy直角坐标平面上有n条直线L1,L2,...Ln,若在y值为正无穷大处往下看,能见到Li的某个子线段,则称Li为可见的,否则Li为被覆盖的.例如,对于直线:L1:y=x; L2:y=- ...

  2. linux Cenos-7.0下安装jdk搭建环境变量

    搭建linux系统的java环境本人目前所知有两种方式: 第一种是从oracle官网下载linux系统的jdk版本: 第二种是使用yum命令的方式下载安装,咱们今天讲的是第一种方式. 一.工具准备: ...

  3. vue深究第一弹:computed与watch的异同

    最近在开发vue的过程中,不断用到了计算属性(computed)和观察者(watch),从逻辑上感觉它们很相似,但是尝试混用它们的时候,又出现了一些问题,那么它们到底有什么异同呢? 1. comput ...

  4. 紫书 例题 10-20 UVa 10900(连续概率)

    分两类,当前第i题答或不答 如果不回答的话最大期望奖金为2的i次方 如果回答的话等于p* 下一道题的最大期望奖金 那么显然我们要取最大值 所以就要分类讨论 我们设答对i题后的最大期望奖金为d[i] 显 ...

  5. Android怎样从外部跳进App

    解决问题有两个作用: 1.不用打开App直接进入某页面 2.实现App分享到外部,同一时候由外部进入App的闭环. 这个话题能够分双方面来讲.一方面是从微信进入App,还有一方面是从网页进入App. ...

  6. 特性Attibute定义和使用

    1.定义特性 [AttributeUsage(AttributeTargets.Class,AllowMultiple = false,Inherited = false)] public class ...

  7. BZOJ 1503 treap

    思路: treap (算是基本操作吧-..) 加减的操作数很少 就暴力好啦 每回判断一下最小的数是不是比M小 如果是 就删,继续判断 搞定. //By SiriusRen #include <c ...

  8. POJ 1459 最大流 第二题

    http://poj.org/problem?id=1459 也是网络流的基础,只是虚拟出一个源点和终点,对应的生产值和消费值就加到与源点和终点的边上,然后做一次bfs就好了. #include &l ...

  9. 分享一个正则 选择html中所有的单标签

    var str = /\B<.+?>/g;

  10. Windows10 Linux子系统的启用和中文用户名的修改

    一直用的虚拟机Linux,忽然心血来潮,看到Windows 10可以使用Linux子系统,于是来装一波,按照这位前辈的教程 https://blog.csdn.net/zhangdongren/art ...