首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django:从XAMPP转移到Django问题

Django:从XAMPP转移到Django问题
EN

Stack Overflow用户
提问于 2010-01-31 00:58:46
回答 3查看 658关注 0票数 3

我使用过XAMPP、WAMPP、MAMPP等,现在开始关注Django。

我们做的大部分工作都是面向内容管理系统的;尽管我们被告知不要使用第三方内容管理系统(主要是因为用户发现它们很难使用,以及其他问题),但我发现我可以使用Cake、CodeIgniter或其他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之外;那么在里面放了什么?

我是否要将/template/目录放在webroot中?服务器如何知道要运行什么?

3)我还可以在Django项目上使用.htaccess吗?我对Apache很熟悉,经常用它来做路由,或者拦截坏的机器人,但是使用.htaccess仍然可以吗?

4) Cronjob

cronjobs是否仍然适用于Python/Django项目?

5)运行第三方perl/其他脚本

在PHP中,您可以使用其他库,例如curl库、ffmpeg、ImageMagik以及许多其他库;我还可以在Python/Django中使用这些库吗?

6)管理屏幕

Django为您提供了一个开箱即用的管理屏幕;这是仅用于开发目的,还是可以将其上线?我关心的是管理屏幕的任何安全性。

7)集成讨论、Facebook、Twitter、OpenID、验证码等。

PHP中有一些库可以帮助集成DisQuss、Facebook、Twitter;但是与这些和其他第三方应用程序集成相对容易吗?

8)电子商务,SSL

有很多使用Django的电子商务网站吗?我见过很多CMS/博客类型的软件,但并不是很多电子商务网站。我的意思是,购物卡,Protx/Paypal或Worldpay集成。

这是另一回事;有Protx、Paypal、Worldpay等PHP的沙箱--但是Django有沙箱吗?

9)值得吗?

从XAMPP背景转到Django值得吗?它真的会让事情变得更快吗,或者这只是营销炒作?

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-31 03:41:27

  1. 安全性。Django核心团队非常注重安全,他们非常小心地避免了SQL注入之类的事情。下一个版本1.2包含了一个全新的cross-site request forgery保护库。显然,您在开发应用程序时仍然需要注意这些,但是Django做了很多工作来帮助您。
  2. /www/
  3. 下的内容:什么都没有。Django不是通过正常的Apache服务机制工作的:它挂接到(最好是) mod_wsgi,它需要一个文件,然后告诉它运行其余的代码。这些模板可以放在任何地方,并且可以由您的Django设置文件指向,但是Apache.
  4. .htaccess:并不直接为您提供服务您并不真正需要它,因为第2点:您不是在文件系统层次结构中提供服务。最好的方法是设置虚拟主机并以这种方式进行管理。
  5. Cron作业:绝对可以。Django就是Python,您可以通过cron轻松运行Python脚本。Django允许你设置自定义的命令脚本来初始化ORM,并让你再次访问任何你想要need.
  6. Libraries:的东西,因为Django是Python,所以你可以访问大量的Python库。对于curl,Python有urllib;对于ImageMagick,它有PIL;毫无疑问,还有等价物ffmpeg。
  7. 管理员:再一次,从一开始就考虑到了安全性。对于你是否应该只为你的专家用户使用管理,或者定制它并允许所有用户访问,意见不一;我已经用它作为我的自定义CMS interfaces.
  8. Facebook,的基础取得了很大的成功,等等:是的,有适用于所有these.
  9. E-commerce:的库有一个完整的电子商务项目,Satchmo,用Django编写的。图书馆的存在是为了与所有的支付providers.
  10. Is接口,它值得吗?只有你能看出来。我与一系列从PHP迁移过来的开发人员一起工作的经验是,他们享受到了这种体验,并变得更加高效。
票数 5
EN

Stack Overflow用户

发布于 2010-01-31 03:24:36

SQL注入: SQL使用,它负责注入保护,您很少编写自己的SQL语言。如果是这样的话,只需对如何向原始查询传递参数和防止SQL注入进行follow the instructions即可。

django book about security上有一个完整的章节可以回答你的所有问题。

关于/www/:中的内容是否有任何不是代码的内容?问题是不要把python代码放在那里。

On .htaccess: Django是的,它应该仍然可以工作(对于任何非资源,正如丹尼尔指出的那样)。

cronjobs上的什么意思?

库上的Python : Django您将在中使用的语言-具有丰富的库,这些库可能提供您所习惯的相同功能。这是一个关键点:您需要学好Python才能从Django中获得最大的好处。

管理界面上的从你的问题来看,这实际上可能是对你最有帮助的事情。它们是可定制的(在一定的限制范围内),它们确实为工作人员(不是为公共用户设计的,而是为工作人员用户准备的)为您的数据库模型提供了CRUD的基础知识。这是节省时间的方法。您可能需要为高级功能编写自己的模板,但对于大多数针对员工的简单CRUD (这通常是CMS的要点),它非常有用且易于设置。

集成时的:对一组提供额外功能的应用程序进行 Pinax检查。有一个丰富多样的集成解决方案的世界。在这里找到关于django + facebook和其他网站的问题并不少见。

电子商务上的 Check Satchmo out.

XAMPP是否值得:现在,我没有使用的经验。我知道我更喜欢Python而不是Perl和PHP (就这一点而言,还有Java )。我知道作为一个框架,Django使用起来更简单,部署起来也比我以前用过的任何东西都要快。

我的建议由来已久:去构建一个简单的项目,然后自己做决定。你是唯一能够决定Django是不是适合你的框架。

关于SO的一个老问题讨论了Django的一些限制。My answer to that可能对您也有帮助。

票数 3
EN

Stack Overflow用户

发布于 2010-01-31 04:57:18

我最近开始使用Django开发任何新项目,都有PHP背景。以下是我对你的问题的看法。

1)安全性

默认情况下,发送到模板的字符串是转义的,它负责大部分操作。由于您使用的是ORM,SQL注入应该不是问题,除非您出于某种原因构建原始查询。

2) /www/ public文件夹中有什么?

Django不像典型的PHP设置那样使用URL的文件层次结构。服务器知道从指向模板文件夹的urls.py和settings.py指针运行什么。

3)我还可以在Django项目上使用.htaccess吗?我对Apache很熟悉,经常用它来做路由,或者拦截坏的机器人,但是使用.htaccess仍然可以吗?

如上所述,它同样适用于静态内容。据我所知,对于动态页面,您可能希望为要阻止的客户端实现某种其他形式的身份验证或重定向。

4) Cronjob

您没有理由不能使用cron,因为您仍然拥有一个普通的Linux系统。

5)运行第三方perl/其他脚本

当然,您需要使用这些库的Python版本。例如FFMpeg PythonMagick

我用内置的urllib和urrlib2库替换了我对Curl的大部分需求,但如果您需要的话,也可以使用PyCurl

6)管理屏幕

Admin屏幕旨在供您自己的管理员使用,即站点员工。这样做可能是可能的,但它不应该是你构建面向公众的项目的脚手架。

7)集成讨论、Facebook、Twitter、OpenID、验证码等。

有很多人在使用Python和Django,我在寻找库时没有遇到任何问题。在我的经验中,对某些东西的支持比PHP少一点,但通常有更高的质量。

8)电子商务,SSL

我还没有尝试过支付集成,所以我不能说。不确定其他网站,但是Paypal Sandbox是由Paypal运行的,不是吗?我不认为它与你在服务器上使用的东西有关,所以你可以像平常一样访问它。

9)值得吗?从XAMPP背景转到Django值得吗?它真的会让事情变得更快吗,或者这只是营销炒作?

我转到Django是因为Python确实比PHP更吸引人。它会让事情变得更快吗?我不确定Django vs.the PHP框架在这方面的优势是什么。没有什么灵丹妙药。

你必须记住,你不仅仅是在学习一种新的框架,也是一种新的语言。如果您以前从未使用过Python,那么将会有一点学习曲线。但是我发现Python和Django都相当容易学习。这门语言的简洁设计非常棒,Django的设计也非常好。我确实觉得它提高了我的工作效率。正如我一直在学习的那样,我已经找到了关于我在Django中需要做的几乎所有事情的代码片段或文章,所以适应起来非常简单。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2168624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档