1.创建虚拟环境:
install virtualenv
virtualenv env_django(创建虚拟环境)
virtualenv --system-site-packages env_django(创建纯净环境)
进到目录里,的Script文件夹输入:activate
退出虚拟环境:deactivate
2.试图函数:
一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应。响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . . 是任何东西都可以。无论视图本身包含什么逻辑,都要返回响应。代码写在哪里也无所谓,只要它在你的Python目录下面。除此之外没有更多的要求了——可以说“没有什么神奇的地方”。为了将代码放在某处,约定是将视图放置在项目或应用程序目录中的名为views.py的文件中。
3.request属性
request.POST前台POST传过来的数据,包装到POST字典里
request.GET前台浏览器窗口里携带的数据,包装到GET字典里
request.body post提交的数据,body体的内容
request.path:取出请求的路径,取不到数据
reques.get_full_path取出请求的路径及数据
HTTP_REFERER —— Referring 页面,用于反爬
4.响应对象主要有三种形式:
- HttpResponse()
- render()
- redirect()
HttpResponse()括号内直接跟一个具体的字符串作为响应体,比较直接很简单
RENDER:
1
2
3
|
render(request, template_name[, context]) 结合一个给定的模板和一个给定的上下文字典,并返回一个渲染后的 HttpResponse 对象。 |
参数: request: 用于生成响应的请求对象。 template_name:要使用的模板的完整名称,可选的参数 context:添加到模板上下文的一个字典。默认是一个空字典。如果字典中的某个值是可调用的,视图将在渲染模板之前调用它。
render方法就是将一个模板页面中的模板语法进行渲染,最终渲染成一个html页面作为响应体
redirect()
传递要重定向的一个硬编码的URL
def my_view(request): ... return redirect('/some/url/')
也可以是一个完整的URL:
def my_view(request): ... return redirect('http://www.baidu.com/')
JsonResponse:向前端返回一个json格式字
CBV基于类的视图(Class base view)和FBV基于函数的视图(Function base view)
简单文件上传:
print(request.FILES)
print(type(request.FILES.get('file_name')))
file_name=request.FILES.get('file_name').name
from django.core.files.uploadedfile import InMemoryUploadedFile
with open(file_name,'wb')as f:
for i in request.FILES.get('file_name').chunks():
f.write(i)