Django初见
什么市WEB应用?
所谓的web应用就是我们基于浏览器打开的一个个网页(对应网址得到的内容)
软件开发架构
C/S架构: 客户端/服务端
B/S架构:浏览器/服务器
所有的B/S架构本质上就是C/S架构。
HTTP协议:
超文本传输协议:规定了客户端和服务端消息传输的格式。
四大特性:
基于TCP/IP协议作用于应用层的协议
基于请求响应(请求响应一一对应,并且服务器不能够自动回消息)
无状态(无论你访问多少次,我带你如初恋)
无连接(HTTP协议在请求结束后,就断开连接) (websocket)常连接
数据格式之请求:
请求首行
请求头(一堆k,v键值对)
这的空格很关键
请求体(里面存放post请求的数据)
get请求的弊端:1.传输的数据直接可以在地址栏显示 2.并且请求的数据长度有限制
数据格式之响应:
响应首行
响应头(一堆k,v键值对)
这的空格很关键
响应体(里面存放post请求的数据)
响应状态码:
Statues Code:
1xx: 表示服务器已经成功接受你的数据正在处理,你可以继续提交
2xx: 请求成功
3xx: 重定向
4xx:请求资源错误,或者不存在
5xx: 服务器错误
动静态网页:
静态网页:页面上的数据都是写死的,万年不变
动态网页:页面上的数据是从后端动态获取的;然后将数据传到前端页面。
模板渲染:
后端生成的数据直接传递给前端页面使用(并且前端数据可以通过模板语言很灵活的操作数据)
模板渲染 模板的语法通过第三方库模块来实现: pip3 install jina2
模板语法:{{ 操作的数据}};{%for user in userinfo%}操作的数据{%endfor%}
简易版本的web请求流程图:

Templates:
用于存放你所有的HTML代码
web的三大主流框架介绍:
Django:大而全,自带了很多的功能模块,类似于航空母舰(缺点:就是太笨重了)
Flask: 短小精悍,自带了功能模块特别少,大部分都依赖于第三方库和模块来实现。(小而轻)
Tornado:异步非阻塞, 主要用于处理高IO,多路复用的情况,多用于游戏开发。
在创建Django项目需要注意的点:
计算机的名称不能有中文的存在,否则会报错
一个pycharm窗口就是一个项目,不要把多个项目放在同一个pycharm中启动
项目的名称不能用中文
Django项目版本的选择:
推荐下载1.11.11版本的
命令行下载: pip3 install djiango==1.11.11
验证是否安装成功: django-admin
创建Django项目的两种方式:
命令行创建
创建Django项目: django-admin startproject 项目名
创建app应用: python3 manage.py startapp app01
启动django项目: python3 manage.py runserver
ps:需要注意的是:在使用命令行创建的项目中,没有template文件夹的存在,后期需要自己手动进行配置,需要在settings.py里面进行手动添加。
通过pycharm进行创建
FILE=====>new project: 选择Django项目进行创建
创建app,可以在创建时自动生成,也可以不进行创建,后期在项目里进行手动创建,添加
也可以在项目里通过使用终端来创建:python3 manage.py startapp app01
或者通过在任务栏里的Tools====>run manage task功能:直接输入 startapp app01
在使用项目是需要注意的问题:
用Django框架时一定只要保证一个项目在运行,否则端口会被占用
一定要记得清除浏览器的缓存
app应用的概念:
Django 对应的就是大学
app就是大学下面的所有学院
在创建了app时,一定要去settings里面去注册我们的app应用。
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':'123'} return render(request,'reg.html',{'user_dict':user_dict})
def reg(request):
user_dict = {'name':'jason','password':'123'}
return render(request,'reg.html',locals())
redirect 重定向
Django初见的更多相关文章
- <学习笔记: Django之初见>
Django 1. web框架介绍 具体介绍Django之前,必须先介绍WEB框架等概念. web框架: 别人已经设定好的一个web网站模板,你学习它的规则,然后“填空”或“修改”成你自己需要的样子. ...
- From delete library to run の 初见Django篇
一.虚拟环境简介 1.什么是虚拟环境? 虚拟环境是用于依赖项管理和项目隔离的python工具,允许python的第三方库安装在本地特定项目的隔离目录中,而不是全局安装. 2.虚拟环境的组成 ① 安装了 ...
- {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session
Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...
- django cookie与session组件
本文目录 1 会话跟踪技术 2 cookie介绍 Django中操作Cookie Session Django中Session相关方法 Django中的Session配置 CBV中加装饰器 回到目录 ...
- Django中的分页,cookies与session
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
- Django基础八之cookie和session
一 会话跟踪 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而10086服务人员就是服务器 ...
- Django中cookie和session
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
- cookie和session在Django中的应用
1 会话跟踪技术 什么是会话跟踪 我们需要先了解一下什么是会话!可以把会话理解为客户端与服务器之间的一次会晤,在一次会晤中可能会包含多次请求和响应.例如你给10086打个电话,你就是客户端,而1008 ...
- Django之Cookie、Session和自定义分页
cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...
随机推荐
- consul实现kubernetes-1.15集群master的高可用访问实现
1.准备consul环境,参考我之前的博客实现或参考consul的官网部署最新的consul. 2.本次测试使用的是kubernetes-1.15.0 3.初始化集群 1)准备初始化文件 contro ...
- 2019-11-25-加强版在国内分发-UWP-应用正确方式-通过win32安装UWP应用
原文:2019-11-25-加强版在国内分发-UWP-应用正确方式-通过win32安装UWP应用 title author date CreateTime categories 加强版在国内分发 UW ...
- abstract,virtual,override个人
1.abstract 可以修饰类和方法,修饰方法时只声明不实现: 2.继承实现abstract类必须通过override实现abstract声明的方法,而virtual方法可选择override(重写 ...
- 死磕Synchronized底层实现,面试你还怕什么?
关于synchronized的底层实现,网上有很多文章了.但是很多文章要么作者根本没看代码,仅仅是根据网上其他文章总结.照搬而成,难免有些错误:要么很多点都是一笔带过,对于为什么这样实现没有一个说法, ...
- c++语法大全笔记(一)
目录 一:初级知识 c++是一种中级语言,是c的扩充,是一种面向对象的程序设计语言,可以运行到多个平台.这里直接讲语法. 基础c++模板: #include <iostream> ...
- 在ie下转换时间戳出错
在将特定格式转换为时间戳的时候,我们通常的做法事new Date(str).getTime(), 这个方法在谷歌上是可行的,但是在ie上需要注意一点,就是这个str如果是“2019-11-15”的格式 ...
- vuejs兄弟通信$emit和$on
1 vm.$on( event, callback ) 监听当前实例上的自定义事件.事件可以由vm.$emit触发.回调函数会接收所有传入事件触发函数的额外参数. 2 vm.$emit( even ...
- oracle查询中会使索引无效的情况总结
总结一下oracle中会使索引无效的情况 1 无where条件: 2 索引列进行运算时: 3 使用like,并且通配符在前的情况: 4 字符型字段为数字时在where条件里不添加引号: 5 not i ...
- Django 简单的验证码
创建一个 Django 项目:yanzhengma 和 应用 app01 修改 urls.py 文件 from django.contrib import admin from django.urls ...
- HTTPS中的加密验证部分理论
为了加深自己对于https加密这一块的映象,决定写出来试试 就是在http层下面加了一个ssl层, 服务器将自己的公钥发送给证书机构,申请证书,证书机构首先会验证个服务器是否合法,线上或者线下,然后用 ...