软件开发架构:

  c/s架构

    客户端

    服务端

  b/s架构

    浏览器

    服务端

  本质:b/s架构也是c/s架构

HTTP协议

  超文本传输协议:规定了客户端与服务端之间消息传输的格式

  四个特性:

    1、基于TCP/IP协议作用于应用层的协议

    2、基于请求响应

    3、无状态(服务端无法保存用户的状态,一个人来千万次我都记不住)

    4、无连接(请求来一次响应一次之后就立刻断开连接,两者之间就没有任何关系了)

  websocket是HTTP最大的一个补丁,它支持长连接

  get请求:

    朝服务端要资源

  post请求:

    朝服务端提交数据

  数据格式之请求:

    请求首行(标识HTTP协议的版本, 当前请求的方式 )

    请求头(一堆k,v键值对)

    \r\n

    请求体(post请求携带的数据)

  请求数据之响应:

    响应首行

    响应头(一堆k,v键值对)

    \r\n

    响应体(post请求携带的数据)

  响应状态码:

    1xx:服务器已经成功接受到你的数据正在处理,你可以继续提交其他数据

    2xx:请求成功 服务器已经成功将你请求的数据发给你了

    3xx:重定向

    4xx:请求资源不存在

    5xx:服务器错误

动静态网页:

  静态网页:

    页面上的数据都是写死的,万年不变的

  动态网页:

    页面上的数据是从后段动态获取的,比如后端获取当前时间,后端获取数据库数据然后传递给前端的页面

模版渲染:

  后端生成的数据直接传递给前端页面使用(并且前端页面可以灵活的操作修改数据) >> 模版语法

  模版渲染 模版语法需要依赖于第三方模块  ---> pip3 install jinja2

  模版语法:jinja2支持前端直接使用类似于python的语法操作数据

<p>{{ user_dic }}</p>
<p>{{ user_dic.name }}</p>
<p>{{ user_dic['password'] }}</p>
<p>{{ user_dic.get('name') }}</p> {% for user in user_dict %} <!--[{},{},{},{}]-->
<tr>
<td>{{ user.id }}</td>
<td>{{ user.name }}</td>
<td>{{ user.password }}</td>
</tr>
{% endfor %}

简易版本的web请求流程图:

templates:该文件夹存放的即使所有的页面文件(.html)

什么是web框架:

  a:socket

  b:路由和视图函数

  c:模版渲染

  python三大主流web框架:

    Django:大而全,自带了很多功能模块,类似于航空母舰(缺点:有点笨重)

      a:用别人写的wsgiref

      b:自己写的

      c:自己写的

    Flask:短小精悍,自导的功能模块特别少,大部分都是依赖于第三方模块(小而轻)

      a:用别人写的wsgiref

      b:自己写的

      c:用别人写的jinja2

    Tornado :异步非阻塞,主要用于处理高io 多路复用的情况,可以写游戏的后端

      a、b、c:都是自己写的

注意点:

    1、计算机的名称不能有中文

    2、一个pycharm窗口就是一个项目,不要将多个项目放在一个窗口里面

    3、项目名不能有中文

Django简介:

  命令行下载:pip3 install django==1.11.11

  验证是否下载成功:django-admin

  

  创建django的方式:

    方式1(命令行创建):

      创建django项目:django-admin startproject 项目名

      创建app应用:python3 manage.py startapp app01

      启动django项目:python3 manage.py runserver

      ps:用命令行创建django默认是不会创建temolates文件夹的,需要你手动进行创建(注意该文件夹路径是否被添加到配置文件中)

    方式2(pycharm创建):

      FILE-->new project 选择第二个django 需要注意名字不能有中文  选择本地的解释器,勾选后台管理

      创建app:

        python3 manage.py startapp app01

          Tools下面run manage task功能栏

        启动点绿色小箭头

      强调:

        1、用django一定要保证只有一个在运行状态

        2、一定要记得清楚浏览器缓存

app(应用)的概念:

    一个django项目就是一所大学

    app就是大学里面的一所所学院

注意新创建饿app需要在配置文件中注册才能生效

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01.apps.App01Config' # 可以用全称
'app01' # 也可以简写
]

django各个文件的作用

应用名:

  migrations:数据库迁移记录相关数据

  admin.py:django后台管理记录

  models.py:模型表相关

  views.py:视图函数相关

项目名:

  settings.py:配置文件

  urls.py:路由与视图函数饿映射关系

templates:项目所能用到的所有的html文件

manage.py:django的入口文件

Django必会的三板斧:

from django.shortcuts import render,HttpResponse,redirect

HttpResponse  返回字符串
render 返回一个html页面
两种给前端页面传值的方式
def reg(request):
user_dict = {'name':'jason','password':''}
return render(request,'reg.html',{'user_dict':user_dict}) def reg(request):
user_dict = {'name':'jason','password':''}
return render(request,'reg.html',locals()) redirect 重定向

  django识别到你的代码变化之后会自动重启,但是有时候反应速度比较慢,你可以手动启动,也可以多刷新几次浏览器

Django--创建的更多相关文章

  1. 用django创建一个项目

    首先你得安装好python和django,然后配置好环境变量,安装python就不说了,从配置环境变量开始 1.配置环境变量 在我的电脑处点击右键,或者打开 控制面板\系统和安全\系统 -> 左 ...

  2. 利用django创建一个投票网站(一)

    这是教程的原始链接:http://django-intro-zh.readthedocs.io/zh_CN/latest/part1/ 创建你的第一个 Django 项目, 第一部分 来跟着实际项目学 ...

  3. django创建项目

    django创建项目 安装django pip install django==1.9 Note: C:\Python34\Scripts\pip.exe 创建项目 django-admin star ...

  4. 用django创建一个简单的sns

    用django创建一个简单的sns 1.首先创建一个工程newsns django-admin.py startproject newsns 在工程目录下新建一个文件夹templates,在该文件夹下 ...

  5. django创建工程,用命令

    django创建工程的命令 >>python C:\Python33\Lib\site-packages\django\bin\django-admin.py startproject p ...

  6. django创建第一个项目helloworld

    环境:centos 7,已安装python 3.6环境 1.安装django并创建django第一个项目 1.1.使用pip安装django# pip install Django或指定安装版本# p ...

  7. linux下配置python环境 django创建helloworld项目

    linux下配置python环境 1.linux下安装python3 a. 准备编译环境(环境如果不对的话,可能遇到各种问题,比如wget无法下载https链接的文件) yum groupinstal ...

  8. Django创建基本流程

    Django创建基本流程 1.创建工程:django-admin startproject 工程名 2.创建应用:python manage.py startapp 应用名 3.激活项目:修改sett ...

  9. 【3】Django创建第一个项目

    天地所以能长且久者,以其不自生,故能长生. --老子<道德经> 写在前面:Django在学习的过程中,我们会参考官方文档,从两部分进行讲解,第一部分主要是一个入门项目的搭建开发,第二部分是 ...

  10. Django创建数据库常用字段及参数

    Django创建数据库常用字段及参数 常用字段 1.models.AutoField 自增列= int(11) 如果没有的话,默认会生成一个名称为 id 的列,如果要显示的自定义一个自增列,必须将给列 ...

随机推荐

  1. css之height: 100%的有效场景

    在css的日常应用中,经常会遇到想要通过 height: 100%来达到使子盒子与父盒子高度一样的目的,但是偶尔明明设置了height: 100%,但是却没有达到想要的结果,这次我们就一起探索一下,什 ...

  2. LUOGU P2949 [USACO09OPEN]工作调度Work Scheduling (贪心)

    解题思路 明明一道比较简单的贪心结果挂了好几次23333,就是按照时间排序,然后拿一个小根堆维护放进去的,如果时间允许就入队并且记录答案.如果不允许就从堆里拿一个最小的比较. #include< ...

  3. 线性回归和梯度下降代码demo

    程序所用文件:https://files.cnblogs.com/files/henuliulei/%E5%9B%9E%E5%BD%92%E5%88%86%E7%B1%BB%E6%95%B0%E6%8 ...

  4. PAT甲级——A1091 Acute Stroke【30】

    One important factor to identify acute stroke (急性脑卒中) is the volume of the stroke core. Given the re ...

  5. Ajax之json返回结果是集合的处理

    Jquery实现ajax: $.ajax({       type    //数据的提交方式:get和post        url   //数据的提交路径        async   //是否支持 ...

  6. Grep- Linux必学的60个命令

    1.作用 grep命令可以指定文件中搜索特定的内容,并将含有这些内容的行标准输出.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所 ...

  7. 自动化运维工具Ansible工具

    目录 一.初识Ansible 二.Ansible的架构 三.Ansible基础使用 安装 主机清单 管理主机 四.Ansible用脚本管理主机 五.Ansible模块Module 六.Ansible常 ...

  8. Ionic Cordova Sqlite 实现保存用户名登陆

    1.添加sqlite 组件 cordova plugin add https://github.com/litehelpers/Cordova-sqlite-storage.git --save 2. ...

  9. dubbo入门学习(四)-----dubbo配置

    配置来源 首先,从Dubbo支持的配置来源说起,默认有四种配置来源: JVM System Properties,-D参数 Externalized Configuration,外部化配置 Servi ...

  10. VS未能加载文件或程序集“xxx.dll” 设置Build Events

    完整错误信息:"System.IO.FileNotFoundException"类型的未经处理的异常在 未知模块 中发生 未能加载文件或程序集"Ctp.Core.dll& ...