diango介绍

web框架介绍

web框架:

Web应用框架(Web application framework)是一种开发框架,用来支持动态网站、网络应用程序及网络服务的开发。其类型有基于请求的和基于组件的两种框架(取自百度百科)

简单来说:将web应用开发中通用的部分抽象出来,形成一个框架,在此基础上,再去实现特定功能

(类似建房子,装修前的粗房就是框架)

设置模式:

  • MVC:Model-View-Contriller,模型-视图-控制
  • MTV:Modle-Template-View,模型-模板-视图

socket服务端:收发数据,交互(接口)

概念解释:(取自百度百科)

Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。

即:可以比喻为,socket相当于小区楼下的信箱,每一个信箱对应一户人家,选择不同的信箱实现邮件投递(即一个socket对应一个服务,选择所需要的服务端)

服务端/应用端:

服务器程序:接受和响应用户请求

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

wsgi(Web Server Gateway Interface):

python web开发的标准,类似于协议。只要求提供一个函数(服务器调用,发起请求)

WSGI定义接口:只需要一个函数

def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
return '<h1>Hello, WORLD!</h1>'
  • application就是一个符合WSGI标准的函数,含有俩个参数
  • environ:一个包含HTTP请求信息的对象(dict类型)

    start——response:发送http响应的函数

djiango框架介绍

环境搭建,django安装

准备环境:

  • ubuntu
  • python 3.6+
  • pycharm 2017+
  • mysql

注意:每创建一个djiango项目,都要新建一个python的隔离环境

隔离环境

1.查看:workon

2.创建:mkvirtualenv -p /usr/bin/python3 envname

3.进入虚拟环境:workon envname

4.退出:deactivate

5.删除虚拟环境:rmvirtualenv envname

安装:pip install djiango

下面是操作:

1.创建一个自己文件夹下的隔离环境



2.下载django

项目创建

1.通用的简单的基本创建项目(不同的IDE直接创建会有差别,此处不说)

命令:djiango-admin startproject

下面式操作:

注意!!!——在使用虚拟机前要进行端口映射的配置,ssh的端口是22

先配置端口映射(本人的虚拟机使用Virtual Box):

目录一栏:管理->全局设定->网络->添加->双击NatNetWoek->端口映射->设置信息

右键虚拟机->选择设置->网路->连接方式选择NAT

配置好之后再配置PYCHARM:

创建一个项目,注意不要马上点击Create

选择Existing一项,点击三点(有些版本的会是ADD)

选择ssh一项,填写信息

输入密码,连接

点击next,然后还要选择解释器

home目录下的用户根目录下的.virtualenvs,中所创建的项目文件,中的bin中选择python3/3.6

本人的是:home/pyvip/.virtualenvs/crm/bin/python3



点击finish,再进行配置项目目录:

本人实在project文件下crm的隔离环境,根据自己的情况选择文件夹



然后创建项目

之后还要配置远程项目目录和下拉虚拟机中的文件:



注意要修改name

下拉文件:

启动服务

1.命令行:python manage.py runserver ip:port ip 0.0.0.0 0(端口自选,注意要设置端口映射;要在项目根目录下)

在虚拟机中运行命令:

在pycharm运行:

远程连接上虚拟机:

修改配置,不然会乱码:

修改成功:

pycharm上运行(相当于xshell作用):

2.配置pycharm

点击Add Configuration——>点击添加‘+’——>选择Django server

输入Host:0.0.0.0

点击下方灯泡(FIX)——>选择Django——>勾选——>设置根目录

——>设置setting——>选择项目下的setting文件

然后直接alppy和OK就设置好了,也可以选择修改‘name’,便于自己分辨

然后直接点击运行就OK了

成功!!!

第一个视图

项目,和应用

一个项目可以有多个应用

项目:设置了的Djiango(例如本人的CRM)

应用:包含模型、视图/模板以及urls的组合

创建一个应用的命令:python manage.py startapp appname

例如创建老师、学生端:(老师、学生相当于应用)

创建后刷新一下,并且下拉文件

写视图,在VIEWS里面写

创建路由,在teacher里面新建一个urls.py

写好路由,注意这是应用下的urls,不是项目的,是子urls

还需要在根urls配置

配置根urls

运行,在网页输入

Django介绍的更多相关文章

  1. Django介绍、安装配置、基本使用、Django用户注册例子

    Django介绍     Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站     DjangoMTV的思想         没有controller ...

  2. Django 介绍、安装配置、基本使用、Django 用户注冊样例

    Django介绍         Django 是由 Python 开发的一个免费的开源站点框架.能够用于高速搭建高性能.优雅的站点.              DjangoMTV 的思想项目架构图 ...

  3. 一、Django介绍

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

  4. django介绍及路由系统

    第一:Python的web框架介绍 Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引 ...

  5. Django介绍(1)

    https://www.cnblogs.com/yuanchenqi/articles/6083427.html 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构, ...

  6. (转)Django学习之 第一章:Django介绍

    Django: Python编程Web框架 如果你上djangoproject.com你会发现对Django的如下解释: “Django is a high-level Python Web fram ...

  7. Django介绍(3)

    https://www.cnblogs.com/yuanchenqi/articles/5786089.html

  8. Django介绍(2)

    https://www.cnblogs.com/yuanchenqi/articles/5658455.html

  9. Django 基础介绍

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

随机推荐

  1. BOM定时器,onresize

    定时器 <body> <button onclick="stop()">吃药</button> <button onclick=" ...

  2. spring mvc get请求中文乱码问题

    使用Spring MVC进行get请求时发现get请求带上中文参数,后台收到的是乱码,即使加了encoding filter也没用. 原因是,encoding filter 是针对post请求的,to ...

  3. JAVA课堂测试之查找字母和单词出现次数、频率

    代码如下:没有加注释,自己研究吧. import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;i ...

  4. Atom读写MarkDown插件选择,以及墙内安装markdown-preview-enhanced,及markdown和mermaid使用教程

    1.Atom自带markdown-preview 功能太少,需要大量拓展. 2.markdown-preview-plus 功能还不错,但是其中的滚动条插件markdown-scroll-sync和最 ...

  5. npm install --save 、--save-dev 、-D、-S 的区别

    备注:<=> 意为等价于: 1.npm install <=> npm i --save   <=> -S --save-dev  <=> -D npm ...

  6. Linux编译安装python3

    1.解决编译环境的,依赖环境,必须保证这里正确安装,方可执行后续步骤yum install gcc patch libffi-devel python-devel zlib-devel bzip2-d ...

  7. SQL大数据查询优化

    常写的SQL可能主要以实现查询出结果为主,但如果数据量一大,就会突出SQL查询语句优化的性能独特之处.一般的数据库设计都会建索引查询,这样较全盘扫描查询的确快了不少.下面总结下SQL查询语句的几个优化 ...

  8. WebStorm过期解决方法

    第一步:先删除C:\Users\本机用户名\.WebStorm2016.3\config文件中eval文件. 第二步:打开webstrom 如图,填写许可证激活码:http://idea.imsxm. ...

  9. delphi 利用 InterlockedCompareExchange 实现主线程维一锁等待

    在进行资源锁定时,一般是线程之间进行交互,很少需要在主线程也对资源进行锁定. 不过在一些复杂的业务中,存在子线程与主线程的交互,且一些资源也同步在主线程中使用时,主线程资源锁,就有存在的必要. 假定有 ...

  10. Yii1操作phpexcel

    Yii::import('application.vendors.phpexcel.*'); Yii::import('application.vendors.phpexcel.PHPExcel.*' ...