软件开发架构:

  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. 传递闭包+求概率——列项相消法lightoj1321好题

    主要是要想到边与边的通过概率是独立的,所以先求出最终的概率,然后用推出的公式求总期望即可 最终概率E[0][n-1],可以用传递闭包来做 裂项相消法都不会了.. /* 闭包上推期望 每条边都具有独立性 ...

  2. 爬虫——python——百度地图经纬度查询——经纬度查看地点地名——利用百度API获取地名经纬度——爬取所有的中国地址

    import requests address = '40.8587960,86.866991' url = 'http://api.map.baidu.com/geocoder?output=jso ...

  3. HttpServletRequest request 获取当前登录的用户-获取当前用户

    有的业务需要知道当前登录的用户 当然需要引用这个啦 import javax.servlet.http.HttpServletRequest; 然后 HttpSession session = req ...

  4. kafka数据祸福和failover

    k CAP帽子理论. consistency:一致性 Availability:可用性 partition tolerance:分区容忍型 CA :mysql oracle(抛弃了网络分区) CP:h ...

  5. Windows API 第14篇 DeleteAndRenameFile

    函数定义:BOOL DeleteAndRenameFile( LPCWSTR lpszDestFile,                                                 ...

  6. spring boot项目搭建中遇到的问题

    自己动手搭建一下spring boot的项目,中途遇到了几个问题,在这里记录一下! 一.关于数据库中的表设计的问题 1.设计表的时候一定要添加的两个字段created updated 创建时间与更新时 ...

  7. vue 编写插件

    1.    将插件逻辑封装成一个对象  最后在install编写业务代码暴露给Vue对象 好处: 可以添加任意参数在这个对象上 方便将install函数封装的更加精简 可拓展性也比较高 2.  将所有 ...

  8. SQL2005自动备份,定期删除的维护计划及自动定期清除日志

    作为一名DBA,他们最常见的日常任务是: 1)定期完成数据库的完全备份或差异备份.2)定期清理备份文件,因为存储空间有限,可能只需要保存一个时期段内的文件(比如一周内或一月内). 而如何做到这两点呢? ...

  9. jeecms框架单点登录功能的实现

    单点登录的功能实现主要原理: 1: 在点击登录按钮的时候使用reponse.addCookie()方法向浏览器发送cookie: 2: 在前段拦截器中的request.getCookie()在接收到设 ...

  10. java锁_IO_NIO_AIO_BIO_GC_Jvm

    如何保证线程安全,线程锁有哪些? 同步方法和同步代码块常见的锁:ReentrantLock与synchronized二者区别:             (1) 线程A和B都要获取对象O的锁定,假设A获 ...