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. 搭建本地yum仓库(centos 7.5)

    1. 保留下载的软件包 [root@zabbix-server01 ~]# vim /etc/yum.conf keepcache=1 #开启后下载的软件都会保存到本地 2.将软件进行下载,并将所有r ...

  2. ORA-01589解决

    错误展现如下: sqlplus /nolog SQL> conne /as sysdbaConnected.SQL> shutdown abortORACLE instance shut ...

  3. react-native 导入高德地图

    高德官网 : https://lbs.amap.com/ GitHub地址: https://github.com/qiuxiang/react-native-amap3d 安装的时候遇到错误:一般是 ...

  4. 选择排序java实现

    package text.algorithm; /** * 选择排序 * O(n^2);空间复杂度O(1); */public class SelectionSort { public static ...

  5. 解决mysql连接报“Communications link failure”错误

    <!--定义在从数据库获取新连接失败后重复尝试的次数.默认值: 30 :小于等于0表示无限次--> <property name="acquireRetryAttempts ...

  6. react中对于key值的理解

    1.key是用来帮助react识别哪些内容被更改.添加或者删除.key需要写在用数组渲染出来的元素内部,并且需要赋予其一个稳定的值.如果key值发生了变更,react则会触发UI的重渲染. 2.在相邻 ...

  7. 安卓GridView奇偶行不同颜色

    背景:安卓制作表格,两列多行,奇数行和偶数行背景色不同 分析:GridView是经常用来制作表格的,但是和ListView不同,不能简单的用position % 2 == 0/1 来判断奇偶行,下面提 ...

  8. [Offer收割] 编程练习赛63

    题目1 : 命名 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 有两个公司想要合并,第一个公司的名字是一个字符串S,第二个公司的名字是一个字符串T. 合并后的新公司是这样 ...

  9. Vue 组件&组件之间的通信 之 单向数据流

    单向数据流:父组件值的更新,会影响到子组件,反之则不行: 修改子组件的值: 局部数据:在子组件中定义新的数据,将父组件传过来的值赋值给新定义的数据,之后操作这个新数据: 如果对数据进行简单的操作,可以 ...

  10. bzoj1452 [JSOI2009]Count ——二维树状数组

    中文题面,给你一个矩阵,每一个格子有数字,有两种操作. 1. 把i行j列的值更改 2. 询问两个角坐标分别为(x1,y1) (x2,y2)的矩形内有几个值为z的点. 这一题的特点就是给出的z的数据范围 ...