我曾与XAMPP,WAMPP,MAMPP等合作,并开始关注Django.
我们所做的大部分工作都是以CMS为导向的; 尽管我们已经被告知不要使用第三方CMS"(主要是用户的,因为公司发现它们很难使用等方面的问题),我发现,我可以用蛋糕,还是笨的一个非常简单的代码CMS其他PHP框架.
然而,我越来越感到沮丧的是我需要做的编码量才能使某些东西运行起来,而且我被告知Django是一个很好用的Python框架.它似乎从reddit获得了很多嗡嗡声.
关于从XAMPP迁移到Django,我有一些担忧和疑问.
1)安全
任何Web应用程序都应该采用防御性编码.在过去几年中,我们已经看到了一个防止XSS,SQL注入,跨站点伪造,会话固定,会话高兴,cookie高兴的运动; 一个人需要的安全数量可能是压倒性的.
Django做了什么来防止/限制XSS,SQL注入,Javascript注入和santizing输入; 通常与保护PHP Web应用程序相关联?这是我需要担心的事情,还是Django开箱即用的所有这些东西.
2)/ www/public文件夹中有什么内容?
在我阅读的手册中,它说不要将manage.py或其他.py内容放在主webroot中,所以这意味着我把所有东西都放在了webroot之外; 那有什么进展?
我将/ templates /目录放在webroot中吗?服务器如何知道要运行什么?
3)我还可以在Django项目上使用.htaccess吗?我熟悉Apache并经常使用它来做路由,或阻止坏机器人,但是使用.htaccess仍然有用吗?
4)Cronjobs
cronjobs还能用于Python/Django项目吗?
5)运行第三方perl /其他脚本
在PHP中,您可以使用其他库,例如curl库,ffmpeg,ImageMagik以及许多其他库; 我还可以在Python/Django中使用这些库吗?
6)管理员屏幕
Django为您提供开箱即用的管理屏幕; 这仅用于开发目的还是可以直播?我担心管理员屏幕的任何安全性.
7)与Discuss,Facebook,Twitter,OpenID,验证码等集成
PHP中的库有助于整合DisQuss,Facebook,Twitter; 但与这些和其他第三方应用程序集成相对容易吗?
8)电子商务,SSL
是否有许多使用Django的电子商务网站?我见过很多CMS/Blog类软件,但电子商务网站并不多.我的意思是,购物卡,Protx/Paypal或Worldpay集成.
那是另一回事; 有针对PHP的Protx,Paypal,Worldpay等沙箱 - 但Django有没有?
9)值得吗?
是否值得从XAMPP背景转移到Django?它会真的让事情变得更快,还是仅仅是营销炒作?
谢谢.
安全.Django核心团队非常注重安全性,并且非常注意使SQL注入不可能.下一个版本1.2包括一个全新的跨站点请求伪造保护库.显然,在开发应用程序时,您仍需要了解这些,但Django可以为您提供很多帮助.
/ www/public下的内容:没什么.Django不能通过普通的Apache服务机制工作:它挂钩(最好)mod_wsgi,它需要一个文件然后告诉它运行其余的代码.模板可以放在任何地方,并由Django设置文件指向,但Apache不能直接提供.
.htaccess:你真的不需要它,因为第2点:你不是在文件系统层次结构中提供服务.最好的方法是设置vhost并以这种方式管理事物.
Cron工作:绝对.Django只是Python,您可以通过cron轻松运行Python脚本.Django允许您设置自定义命令脚本,初始化ORM并允许您访问所需的任何内容.
库:同样,因为Django是Python,所以您可以访问大量的Python库.对于curl,Python有urllib; 对于ImageMagick,它有PIL; 毫无疑问,也有ffmpeg的等价物.
管理员:同样,从一开始就考虑过安全性.关于您是否应该仅为专家用户使用管理员,或者是否自定义管理员并允许所有用户访问的意见不同; 我使用它作为我的自定义CMS界面的基础已经取得了很大的成功.
Facebook等:是的,所有这些都有库.
电子商务:有一个完整的电子商务项目,Satchmo,用Django编写.存在与所有支付提供商接口的库.
这值得么?只有你可以告诉.我与一系列从PHP迁移的开发人员一起工作的经验是,他们享受了这种体验并且变得更有效率.