2012-10-08 84 views
92

我想采取网络发展的道路,并且拥有一个使用Python的Web开发人员的职业生涯,并且真的很想学习Django,因为它是一个完整的Web框架,并且在寻找网络工作时对我更有利开发商。Flask或Django初学者?

但是一个朋友告诉我以Flask开头,因为它更简单,并且在我开始学习Django时会帮助我,因为Django比Flask更复杂。所以当我开始学习Django时,Flask会为我放松一些事情。

所以我应该从Flask开始,知道我最终会学习Django吗?或者刚开始学习Django?

+2

我创建了一个工作表来帮助其他开发者决定Flask和Django。你可以通过它并获得最佳框架的“结果”使用: https://wakatime.com/django-vs-flask-worksheet –

+1

我知道它的一个老问题,但这肯定会帮助像我们这样的初学者[ Django VS烧瓶](https://www.youtube.com/watch?v=zGqmRbkukk8) – Suresh2692

回答

1

你应该开始玩两种游戏,如果你没有义务使用你喜欢的玩家。另外请注意,学习其中一个很可能会使其他人更容易学习。

12

恕我直言,我会直奔Django。对于一个简单的应用程序或网站来说,学习起来可能会很困难,但是,我认为在线提供的支持和文档数量远远超过其他任何Python Web框架。另外,正如你所说,Django是一个真实的世界使用框架。如果你打算使用它,那么学习其他东西可能会浪费时间,然后忘记学习Django。 (因为技术的任何转变都涉及到某种学习方式)

这些都是主观的,只有我的看法。

15

烧瓶是一个微型框架,但这并没有使它更简单。

它只是不会对您要使用的生态系统/库 做出很多假设。它留给你。

这反过来,我认为这意味着它是致力于更有经验的 开发人员。

Django的学习曲线陡峭,因为如您所说,它是全栈式的。 它强制你自己的ORM,表单框架等,但它抽象 很复杂,否则你不得不处理。

我同意丹尼尔。如果我在你的位置,我会直接去Django。

145

我会建议你从Flask开始。使用Flask,你将明确地编写你自己的路由函数,让你的路由渲染模板等等,所有这些都使用你已经熟悉的Python函数。没有什么“魔力”。你可以看到究竟发生了什么,并了解它发生的原因。 Flask文档也相当不错,简洁明了,所以你可以在几个小时内阅读并学习Flask,花几个晚上学习完成一个完整的应用程序,然后转到Django。时间投入很小,它会为Django做好充分的准备,并且您将了解到一个伟大的微观框架。有时候我在使用Django构建项目之前,有时会在Flask中创建项目。

Django虽然功能更全面,但具有明确的结构和惯例,因此初学者可以更加神秘地弄清楚所有东西如何组合在一起。如果您对网络开发不熟悉,您可能会对您是否正在做某些事情感到困惑,因为这是Web开发惯例,还是因为它是Django公约/组织的一部分而做的。

如果你在开始学习Django(你最初的目标)之前可以花几天或一周时间玩Flask,我认为这是值得的。两者都是很棒的框架。欢迎来到Web开发的世界。

+4

嗯,我已经开始在Django。制作了一些动态和静态的页面,我开始很好地掌握其中的内容。那么你是否有链接来解释发动机罩下发生的事情,而不是学习烧瓶?因为你是一个有说服力的说话者:D –

+1

不幸的是,我没有Django的内幕摘要。新开发人员经常困惑的一件事是路由如何工作。以下是Django路由的说明https://docs.djangoproject.com/en/dev/topics/http/urls/以下是Flask路由的说明http://flask.pocoo.org/docs/quickstart/#routing 听起来你已经在Django上做了一个好的开始。检查Django教程,如果你还没有 - 它相当不错。 – dghubble

+3

@dghubble非常感谢你的理由充分,写得很好的答案。我知道这个问题被关闭为“不具有建设性”,但我得告诉你,你的答案帮助我弄清楚了Flask是什么,以及我如何将处理Python的东西作为我的主要webdev语言。你摇滚! :-) –

6

所以,我不确定你在这里比较苹果与Pommes。我是一位有经验的Django用户,刚开始使用Flask。 Django早期的理念是它应该是一个包含电池的框架,而Flask非常适合自己找电池的方法。问题是,你是否想要有一个框架,这就是你现在需要学习如何构建丰富的网站,或者你想要一个只是非常基础的框架,并且你很乐意衡量那些选项所有的坚果和螺栓?

此外,你声明你正在寻找一个在网络发展和一个工具箱的职业去与它。我发现即使在今天,雇主们也经常听到'Django'的消息。令人信服的人雇用你和你的前往框架是烧瓶可能是一个更难卖。

我的2cents会陷入Django并建立一些简单的网站(民意调查,博客等),然后当你感到舒服的时候,回去使用Flask重新构建它们。最后,它都是Python。

25

当我想尝试使用Python进行web开发时,我的情况也是一样:)我和Django一起去了。虽然有时很难理解Django背后的所有魔力,但它很好,并且有很多非常有用的东西。如果你喜欢ORM,那么Django就很好。它也有管理面板。通用视图也是好东西:)基本上它是非常好的框架,当你将在线运行你的第一个应用程序时,第二个应用程序的开发将会很有趣:)

但是过了一段时间,我发现了Flask。现在我正在与它合作。为什么?因为有时候我喜欢自己创作和创作,所以我想学习并且知道事情是如何运作的。烧瓶是简约的东西,你会创建所有的“魔术”Django已经有了。我很高兴我开始使用Django,只是因为现在我可以在Flask应用程序中使用一些原则。 Flask用户较少,但到目前为止,这对我来说并不是什么大问题。它也有扩展,已经帮助你一些东西。尽管ORM的构建并不像Django那样深入,但我喜欢这一点,因为我讨厌ORM(称我老掉牙了,但我仍然认为原始SQL在我的情况下更加有效)。

最好的事情就是尝试两种选择你喜欢的。有经验的人可以给出一个比另一个更好的建议,但我会说 - 尝试!如果你看到你用Django断腿,也许Flask会有所帮助。或者以其他方式。

玩得开心!

+0

Django管理面板具有优点(开箱即用的CRUD)和缺点(“隐藏”代码)。我认为Flask和Django都很棒,所以我同意Ignas。 – Timo