django中配置静态资源访问的问题

本文介绍了如何解决Django项目中因ordinalnotinrange(128)错误导致的静态资源加载失败的问题。通过调整settings.py配置文件及mimetypes.py文件,并确保DEBUG模式开启,最终使静态资源能够正常加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

软件环境:django 1.10.2, python2.7

问题:django中配置静态资源时遇到了错误提示 ordinal not in range(128),然后所有静态资源都不能正常访问,直接返回状态码500

项目目录结构:

其中statics目录里存放了项目的所有静态资源

解决方法:

  • 确保setting.py中的INSTALL_APPS中包含django.contrib.staticfiles
  • 确保setting.py中的DEBUG选项为True,否则无法映射到静态文件目录
  • 设置setting.py
  • STATIC_URL = '/static/'
    
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'statics/'),
    ]
  • 修改mimetypes.py文件

  • #方法一:在文件头部添加代码
    reload(sys)
    sys.setdefaultencoding('gb18030')#这里需要注意,就算代码文件编码是utf-8,这里的值也要为gb18030
    
    #方法二:注释或删除以下四行代码(大概在252)
    	try:
    		ctype = ctype.encode(default_encoding) # omit in 3.x!
    	except UnicodeEncodeError:
    		pass
  • 修改html文件中对静态资源的应用路径,以 /static/开头(与setting.py文件中STATIC_URL变量值一样),例如:

  • <link href="/static/css/bootstrap.min.css" rel="stylesheet">
    <script src="/static/js/jquery.min.js"></script>

    至此问题成功解决!

 

 

转载于:https://my.oschina.net/codespring/blog/757581

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值