django 问题记录

在django的捣腾过程中发现了一些问题,特记录作为备忘

问题一:关闭DEBUG后,css,js静态无法载入

问题的原因:Django只在开发模式下提供静态文件的服务。开启DEBUG模式时,Django内置的服务器提供静态文件的服务,但关闭DEBUG模式后,Django便不提供静态文件服务了。

解决方案转载YueZheng的博客

1.将静态文件由apache提供文件服务:

    编辑/etc/apache2/sites-available/horizon文件:

#Alias /media /opt/stack/horizon/openstack_dashboard/static
Alias /static /opt/stack/horizon/openstack_dashboard/static
    建立静态文件链接: 
ln -sv /opt/stack/horizon/openstack_dashboard/static /opt/stack/horizon
    重启apache: 
sudo service apache2 restart
2.使用django.views.static.serve()方法。在URLconf中添加:
(r'^site_media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': '/path/to/media'}),
官方文档中评价这种办法:“The big, fat disclaimer”。

3.伪造404页面:使用正确的URL链接404页面模板;

4.改变项目运行方式:

python manage.py runserver --insecure

最后这种是stackoverflow上最受欢迎的方法,确实简单快捷!


问题二:django开发服务器使用https

问题的原因:考虑到捣腾的开发页面有login功能,目前通过异步的方式来进行提交与跳转,想到了密码安全性问题,js是明文传输,所以特学习下如何在django使用https,当然,目前是开发服务器也就是runserver,正式服务器的话就等部署的时候再研究了,哈

首先,pip安装 django-extensions django-werkzeug-debugger-runserver pyOpenSSL这三个包
安装完成后,在settings.py中INSTALLEN_APPS中加入 'werkzeug_debugger_runserver' 'django_extensions'
最后运行服务器,命令:python manage.py runserver_plus --cert server.crt 0.0.0.0:9000
当然,我是关闭掉DEBUG的,所以命令的最后还要加上--insecure
即python manage.py runserver_plus --cert server.crt 0.0.0.0:9000 --insecure

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值