问题描述:
在django项目中导入from django.shortcuts import render_to_response时失败
原因分析:
查了好多资料发现django3.0以上的版本已经把render_to_response删掉了,我的框架是3.8的,所有有问题
解决方案:
用render代替render_to_response,值的注意的是,在使用render时一定要的request参数带进去,不然报错,
在views中render函数中加入request后运行正常
from django.http.response import HttpResponse
from django.shortcuts import render
def Login(request):
if request.method == ‘POST’:
username = request.POST.get(‘username’)
return HttpResponse(username)
else:
return render(‘loginhtml.html’)
下面说一下render的用法:
必选参数:
request:用于生成此响应的请求对象。
template_name:
要使用的模板的全名或模板名称的序列
可选参数:
context:
要添加到模板上下文的值的字典。 默认情况下,这是一个空的字典。 如果字典中的值是可调用的,则视图将在渲染模板之前调用它。
content_type:
用于结果文档的MIME类型默认为:设置:setting:DEFAULT_CONTENT_TYPE 设置的值。