3/18 Django框架 启动django服务
web框架:本质是socket服务端,socket通常也被称为“套接字”,用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。web框架就是将web应用开发中通用的部分抽象出来,形成一个框架,再去实现特定的功能。
对于真实开发中的python web程序来说,一般会分为两部分:服务器程序和应用程序。
服务器程序:将socket服务端进行封装,接受HTTP请求,发送HTTP响应。这些工作比较繁琐,由专门的软件执行,如Apache、Nginx等。
应用程序:负责具体的业务逻辑。比如用户输入账号和密码,服务器程序接收请求后,将请求转发给web应用框架,框架和数据库交互、处理好请求后,再将请求转发给服务器程序,再由服务器程序返回给用户。
WSGI:WSGI(Web Server Gateway Interface )是位于服务器程序与web应用程序之间的一种接口。WSGI更像是一种协议,它提供一个函数,由服务器来调用,只要满足条件,应用程序就可以在服务器上运行。WSGI函数需要提供两个参数:
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html;
charset=utf-8')])
return '[<h1>你好, django!</h1>.encode()']
environ:包含所有HTTP请求信息的dict对象;
start_response:发送HTTP响应的函数。
常用的web框架:
- django:全能型
- tornado:优秀的异步框架
- web.py:小巧的web框架
- flask:优秀的轻量级web框架
设计模式:MTV、MVC等
2.django框架介绍
准备环境
- ubuntu
- python3.5+
- Pycharm 2017.1.5+专业版
- MYSQL
每创建一个新的django项目,都要新建一个python隔离环境
3.django框架的简单操作
- 创建项目:
django-admin startproject <projectname>
cd~ | mkdir project | cd project | django-admin startproject crm |cd crm|crm下的crm就是项目的根目录,和manager.py同一层
2.pycharm创建项目远程关联 add python interpreter | Tools - Development -Configuration:改name、Connection里的Root path改为虚拟环境文件存放位置,Mappings里的Deployment Path改为"/"
3.启动服务
- 命令行:
python manager.py runserver ip:portip:0.0.0.0 / 0 在项目根目录下
也可以用pycharm远程连接虚拟机启动服务
乱码问题:settings-SSH terminal-default encoding改为utf-8 - pycharm配置:Add Configuration - + - Django server - Host改为0.0.0.0
settings-django- enabled django support - root改为本地项目根目录 settings改为 crm/settings.py
4.第一个视图
项目和应用
- 创建一个应用 命令:
python manager.py startapp <name>
3/18 Django框架 启动django服务的更多相关文章
- Django框架02 /Django下载安装、url路由分发
Django框架02 /Django下载安装.url路由分发 目录 Django框架02 /Django下载安装.url路由分发 1. django下载安装 2. pycharm创建项目 3. 基于D ...
- Django框架 (七) Django ORM模型
ORM简介 查询数据层次图解:如果操作mysql,ORM是在pymysq之上又进行了一层封装
- Django框架(一)-Django初识
Django初识 一.Web框架本质—自己实现Web框架 1.所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端 import socket sk = sock ...
- django框架基础-django redis-长期维护-20191220
############### django框架-django redis ############### # 学习django redis我能得到什么? # 1,项目中广泛使用到redis ...
- django框架搭建web服务
一.工具 环境:windows 7 python 2.7.7 下载地址:https://www.python.org/downloads/release/python-2713/ ps:这 ...
- Django框架(四) Django之视图层
视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . ...
- Django框架(六) Django之模板继承
模版导入和继承 模版导入 一个页面只能继承一个模板,如何解决了?如何使用多个模板,或者引入其他页面 <% include "a.html" %> 可以引用多次 模板,i ...
- Django框架(十) Django之模型进阶
QuerySet对象 可切片 使用Python 的切片语法来限制查询集记录的数目 .它等同于SQL 的LIMIT 和OFFSET 子句. Entry.objects.all()[:5] # (LIMI ...
- Django框架(九) Django之ORM常用字段和参数
ORM字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为id的列. IntegerField 一个整数类型,范 ...
随机推荐
- Centos7 ssh免密码登陆
摘要:安装openssl openssl-devel 不过有些centos自带 192.168.161.5 192.168.161.15 本版本用centos7 (192.168.161.5) yu ...
- 《读书报告 – Elasticsearch入门 》----Part II 深入搜索(2)
第十三章 全文检索 这一章开始介绍 全文检索 :怎样对全文字段(full-text fields)进行检索以找到相关度最高的文档. 全文检索最重要的两个方面是: 相关度(Relevance) 根据文档 ...
- Python(七) 高级部分:面向对象
一.类的定义 # 面向对象 #有意义的面向对象代码 # 类 = 面向对象 # 类.对象 #实例化 # 类最基本的作用:封装 class Student(): name = '' age = 0 def ...
- 访问 IIS 元数据库失败 解决办法
装了VS2005再装IIS,结果出了些小问题访问IIS元数据库失败思考可能是次序出了问题,解决 1.打开CMD,进入 C:\WINDOWS\Microsoft.NET\Framework\v2.0.5 ...
- canvas中遇到的理解问题
1.lineDashOffset ctx.lineDashOffset = number 描述: setLineDash 用于设置开始绘制虚线的偏移量. 数字的正负表示左右偏移. 2.createLi ...
- 机器学习实践:《Python机器学习实践指南》中文PDF+英文PDF+代码
机器学习是近年来渐趋热门的一个领域,同时Python 语言经过一段时间的发展也已逐渐成为主流的编程语言之一.<Python机器学习实践指南>结合了机器学习和Python 语言两个热门的领域 ...
- 对比了解Grafana与Kibana的关键差异
对比了解Grafana与Kibana的关键差异 http://www.infoq.com/cn/articles/grafana-vs-kibana-the-key-differences-to-kn ...
- C# 对Excel操作时,单元格值的读取
一.Range中Value与Value2的区别 当range("A1:B10")设置为 Currency (货币)和 Date (日期.日期时间)数据类型时,range2将返回对应 ...
- headset-监听有线耳机插拔
今天在做项目的时候,需要对耳机的插拔事件进行监听,所以就写了如下的一个小demo,对耳机监听事件进行验证.直接看代码 package com.example.alert; import android ...
- jquery的ajax总结
jquery的ajax总结 一.总结 一句话总结:ajax函数中层级关系如下: 最底层的封装方式: $.ajax(); 第二层: .load(),$.get(), $.post() 最高层: $.ge ...