django第五天(虚拟环境安装和视图层相关)
django第5天
虚拟环境安装
'''
1.通过pip3安装虚拟环境:
-- pip3 install virtualenv
2.前往目标文件夹:
-- cd 目标文件夹 (C:\Virtualenv)
3.创建纯净虚拟环境:
-- virtualenv 虚拟环境名 (py3-env1)
了解:创建非纯净环境:
-- virtualenv-clone 本地环境 虚拟环境名
4.终端启动虚拟环境:
-- cd py3-env1\Scripts
-- activate
5.进入虚拟环境下的python开发环境
-- python3
6.关闭虚拟环境:
-- deactivate
7.PyCharm的开发配置
添加:创建项目 -> Project Interpreter -> Existing interpreter -> Virtualenv Environment | System Interpreter -> 目标路径下的python.exe
删除:Setting -> Project -> Project Interpreter -> Show All
伪静态的SEO优化
动态页面:数据内容会发生变化的页面
静态页面:数据内容不会发生变化的页面
针对SEO(搜索引擎优化),静态页面更容易被搜索引擎网站收录
如http://127.0.0.1:8888/index/delete1.html会认为是用固定的html显示的页面(也就是静态页面)
伪静态就是将动态页面伪装成静态页面,容易被搜索引擎网站收录,从而增加搜索概率,提高流量
路由层:
url(r'^article/(?P<id>(\d+)).html/$',views.article,name = 'article')
视图函数层:
def article(request,id):
return render(request,'article.html',{'id':id})
模板层:
index.html
<a href="{% url 'article' 1 %}">第一篇文章</a>
<a href="{% url 'article' 2 %}">第二篇文章</a>
<a href="{% url 'article' 3 %}">第三篇文章</a>
article.html
<h1>第{{ id }}篇文章</h1>
执行顺序:
①点击127.0.0.1:8888 进入主页
②点击a标签进入对应的url路径,参数传给了视图函数,视图函数又将参数传给了模板
request对象
1.method:请求方式
2.get请求的参数:GET
3.post请求的参数(本质是从body中取出来):POST
4.body:post提交的数据(不能直接查看)
5.path:请求的路径,不带参数
6.request.get_full_path():请求路径,带参数
7.FILES:文件数据
8.encoding:编码格式
9.META:数据大汇总的字典
FBV与CBV
FBV:function base views 函数方式完成视图响应
CBV:class base views 类方式完成视图响应
视图层:
from django.views import View
from django.shortcuts import HttpResponse
class Cbvview(View):
def get(self,request):
return HttpResponse("响应get请求")
def post(self,request):
return HttpResponse("响应post请求")V
路由层:
url('^path/$',views.Cbvview.as_view())
get方法返回get请求的结果
post方法返回post请求的结果
文件上传
模板
<form action='/path/' methode = 'post' enctype = 'multipart/form-data'>#enctype传送二进制数据
{% csrf_token%}
<input type = 'file' name = 'files' multiple>#multiple支持多文件上传
<input type = 'submit' value = "上传">
</form>
视图函数:
files = request.FILES.getlist('files')
for file in files:
with open(file.name,'wb')as f:
for line in file:
f.write(line)
django第五天(虚拟环境安装和视图层相关)的更多相关文章
- Django框架之第四篇(视图层)--HttpRequest对象、HttpResponse对象、JsonResponse、CBV和FBV、文件上传
视图层 一.视图函数 一个视图函数,简称视图,是一个简单的python函数,它接收web请求并且会返回web响应.响应可以是一张网页的html,一个重定向,或者是一张图片...任何东西都可以.无论是什 ...
- 虚拟环境与django版本与视图层相关知识
目录 虚拟环境 django版本区别 视图函数返回值 JsonResponse对象 form表单上传文件 request方法 FBV与CBV CBV源码剖析 模板语法传值 传值方式 传值范围 虚拟环境 ...
- Django drf:视图层封装、ViewSetMixin、路由配置、解析器、响应器
一.视图层封装 二.ViewSetMixin 三.路由配置 四.解析器 五.响应器 一.视图层封装 1.基本视图 写一个出版社的增删改查resfull接口 路由: url(r'^publish/$', ...
- Django视图层、虚拟环境
一.虚拟环境安装 目的:为了解决版本共存问题 ''' 1.通过pip3安装虚拟环境: -- pip3 install virtualenv 2.前往目标文件夹: -- cd 目标文件夹 (C:\Vir ...
- django虚拟环境安装
虚拟环境主要是防止不同版本的模块之间的冲突,维护多个项目的时候这个非常重要. 虚拟环境的安装 sudo apt install python-virtualenv 虚拟环境安装成功后,直接创建一个虚拟 ...
- 第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块
第四百零一节,Django+Xadmin打造上线标准的在线教育平台—生产环境部署virtualenv虚拟环境安装,与Python虚拟环境批量安装模块 virtualenv简介 1.安装virtuale ...
- virtualenv虚拟环境安装不同版本的django
在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4.所有第三方的包都会被pip安装到Python3的site-packages目录下. 如果我们要同时开发多个应用程序,那这 ...
- Centos7 虚拟环境安装Django 出现ImproperlyConfigured('SQLite 3.8.3 or later is required (found %s).' %Database.sqlite_version)错误
Centos7 虚拟环境安装Django 出现SQLite版本问题 raise ImproperlyConfigured('SQLite 3.8.3 or later is required (fou ...
- 一、自动化平台搭建-python虚拟环境安装
主要知识点介绍: 安装django环境 创建django项目 设计模型类并利用模型类和数据库进行交互 使用django后台管理数据 编写视图函数,进行URL配置 模板的使用 图书-英雄案例完成 1.虚 ...
随机推荐
- C# 面向对象之面向接口
接口的定义 与类不同的是接口用interface关键字 (1)接口中所有成员不能添加任何修饰符,默认为public,如果显示指定修饰符将会出现编译错误; (2)接口中不能包含字段.运算符重载.实例构造 ...
- Codeforces Round #202 (Div. 1) A. Mafia 推公式 + 二分答案
http://codeforces.com/problemset/problem/348/A A. Mafia time limit per test 2 seconds memory limit p ...
- Javaoo学习数组
- LINQ查询返回DataTable类型[轉]與将DataTable序列化为Json格式【轉】
(原文地址:http://xuzhihong1987.blog.163.com/blog/static/26731587201101853740294/) LINQ查询返回DataTable类型 在使 ...
- dbf 工程模式连接(vfp c# )
首先现在微软官网下载“Microsoft OLE DB Provider for Visual FoxPro 9.0”驱动 下载完成后得到“VFPOLEDBSetup.msi” 双击安装即可在“C:\ ...
- lnmp.org + phpstorm + xdebug
lnmp.org下载安装包安装之: lnmp是个集成安装包,就不用自己在配置lnmp环境 安装phpstorm,破解方法:注册服务器为http://idea.lanyus.com 就可以了 xdebu ...
- HDU4405 Aeroplane chess(期望dp)
题意 抄袭自https://www.cnblogs.com/Paul-Guderian/p/7624039.html 正在玩飞行棋.输入n,m表示飞行棋有n个格子,有m个飞行点,然后输入m对u,v表示 ...
- 总结一下最近对nodejs 和 mongodb 的学习
NodeJs 从最开始的node的安装开始...刚开始安装的时候就遇到了坑... 一开始选用的是brew 的安装方式,安装的版本太低了!现在已经是8.9了,后来,mac直接去官网下载了一个安装包就安装 ...
- “Debug Assertion” Runtime Error on VS2008 VS2010 winhand.cpp
I'm writing a C++ MFC program on VS2008 and I'm getting this "Debug Assertion Error" when ...
- (十二)mybatis之动态代理
mybatis之动态代理的应用 在前文(https://www.cnblogs.com/NYfor2018/p/9093472.html)我们知道了,Mybatis的使用需要用到Mapper映射文件, ...