【菜鳥筆記】記一次django無法正常在ie和edge瀏覽器渲染html頁面


如圖所示,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文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM