
如图所示,django无法渲染html显示成下载文件了
一步一步的从render ==》HttpResponse ==》HttpResponseBase 找到

即django文件夹下的http文件夹内的response.py文件
class HttpResponseBase:
"""
An HTTP response base class with dictionary-accessed headers.
This class doesn't handle content. It should not be used directly.
Use the HttpResponse and StreamingHttpResponse subclasses instead.
"""
status_code = 200
def __init__(self, content_type=None, status=None, reason=None, charset=None):
# _headers is a mapping of the lower-case name to the original case of
# the header (required for working with legacy systems) and the header
# value. Both the name of the header and its value are ASCII strings.
self._headers = {}
self._closable_objects = []
# This parameter is set by the handler. It's necessary to preserve the
# historical behavior of request_finished.
self._handler_class = None
self.cookies = SimpleCookie()
self.closed = False
if status is not None:
try:
self.status_code = int(status)
except (ValueError, TypeError):
raise TypeError('HTTP status code must be an integer.')
if not 100 <= self.status_code <= 599:
raise ValueError('HTTP status code must be an integer from 100 to 599.')
self._reason_phrase = reason
self._charset = charset
if content_type is None:
content_type = '%s; charset=%s' % (settings.DEFAULT_CONTENT_TYPE,
self.charset)
self['Content-Type'] = content_type
需要在django项目下的settings.py文件添加下面内容
DEFAULT_CONTENT_TYPE = 'text/html'
为了保证Content-Type的值返回正常的值
将response.py的
self['Content-Type'] = content_type
更改成
self['Content-Type'] = content_type if type(content_type) == type('') else 'text/html; charset=utf-8'
然后重新dajngo服务

成功渲染html文件
内容来源于网络如有侵权请私信删除
标签:
Python
Python开发
Python语言
你还没有登录,请先登录或注册!
- 还没有人评论,欢迎说说您的想法!
相关课程
5185
9.8元
3569
98元
4050
9.8元