没有Python基础,能学习Django吗?

4

我来自于了解一定程度的过程式PHP。我想学习Django,但是我没有Python的初步知识。我能同时学习Django和Python吗?非常感谢!


最好先学习基本语言再转向框架。我在学习jQuery之前已经学过JavaScript了(尽管这完全没有必要,一个人可以很容易地学会jQuery而不需要JavaScript)。 - Madara's Ghost
请参阅http://stackoverflow.com/questions/7450986/can-i-learn-django-without-python。 - Paul D. Waite
5个回答

11

不是的。你需要用Python编写代码,使用Python语言。你需要学习Python。

你的项目中会涉及一点CSS、JavaScript和HTML,其中插入了模板标记。

而大部分的项目都需要使用Python。


3
不行。您需要实际花费一周的时间学习语言、数据结构、面向对象编程和Python库的部分内容。如果您不先学习Python中的面向对象编程,那么在查找问题答案时将需要花费两倍的时间搜索Stack Overflow。 - S.Lott
非常感谢这些指针。我现在正在寻找最好的资源来学习Python。 - freakysquash
2
我认为这一系列的视频非常棒:http://www.youtube.com/watch?v=tKTZoB2Vjuk&ob=av3e 它适合有一定编程基础的人观看... - Niclas Nilsson
我支持这个观点。"Django就是Python"实际上是该框架哲学的重要组成部分。即使是设置文件和模型定义也是用Python编写的。 - Bite code
@freakysquash 我推荐如何像计算机科学家一样思考的Python版本作为Python入门读物。 - ben author
显示剩余3条评论

6

是的!这就是所谓的“沉浸式学习”。你通过使用西班牙语来学习西班牙语,通过编写Python代码来学习Python。心中有一个具体的项目(“我要用Django制作一个能够执行xyz的Web应用程序”)可以让你有事可做,有方向可循。如果你有时间和决心坚持下去,并且拥有有用的资源(比如Google、Stack Overflow和文档),这是一种很好的学习方法。当然,这需要你具备某些特定的品质(倔强、有毅力、有耐心)。


1
@e-satis - 不是要引发战争,但问题不是“我能否在不了解Python的情况下使用Django制作生产质量的网站?”-问题是关于学习的。答案是是的,您可以同时学习Django和Python。尽管有些人可能会发现这更具挑战性,但实际上是*可能的。在学习过程中,您将养成良好的习惯,提出问题,并且每次尝试都会变得越来越好。没有人建议他第一次尝试就编写下一个Facebook。 - Mike Christensen
1
"但事实上这是可能的。" 许多事情都是可能的。即使一无所知,也有可能创建一个工作的Django应用程序。生成大量随机代码,它可能会起作用。可能性与实际可行性相去甚远。首先学习Python要更加实际一些。 - S.Lott
@Mike:在这种情况下,你可以完全不了解编程就学习Django。但是你会推荐吗? - Bite code
1
@mike正在做比我更好的防御。其他人都在回答这个问题时给出了消极的回答。当然,这是主观的,并不适合所有人,但有时候只要跳进去,边做边学习是一个非常好的方法。 - ben author
@benauthor:看过不少Stack Overflow的问题后,我会暂时搁置“优秀”,或许建议使用“可行”或“如果你有时间的话可能行”。 - S.Lott
显示剩余4条评论

2
我认为这是可能的,但学习曲线会比较陡峭。当学习一门新语言时,我通常喜欢用它来做一些有用的事情,而不仅仅是写“Hello World”程序。同时学习Python和Django可能是一个好方法。
我曾经在学习Rails的同时学习了Ruby,发现自己每30秒就要查找基本的Ruby语法,但最终我掌握了它。我发现,查看一些奇怪的Rails结构推动我学习各种Ruby功能,这也是一个优势。
我建议你尝试一下,如果你觉得整个过程太压抑,那么就退后一步,专注于一些命令行脚本或其他简单的程序。

1
我也考虑过RoR和一些Java Web框架,但最终选择了Django/Python。如果除了Perl之外还有另一种类似PHP的语言,那将是我的选择,但我找不到。 - freakysquash
1
我曾试图在没有Python基础,甚至没有编程基础的情况下直接学习Django。这使得学习变得更加困难。 - Paul D. Waite
正确。但问题非常明确地说“是否可能”,而不是“是否容易”。因此,我的官方答案是“是的”。 - Mike Christensen
你在说什么?学习任何编程语言的第一个目标应该是打印出“Hello World”! - NoName

1

简短回答:不行。

详细回答:学习一个特定语言的框架本质上是将基本语法及其细微差别与新的复杂度结合起来。由于你来自具有不同语义结构的不同语言,因此你需要时间来理解Python正在做什么以及如何使用Django进行操作。


0
通过Django学习Python就像通过WordPress学习PHP一样。你会学到Python,但是Django是一个独立的东西。如果你有其他语言或Web编程的经验,那么直接开始学习Django就可以了。如果这是你第一门语言,那么你需要先学习基本的Python。
我还建议先从类似Flask这样的轻量级框架开始学习,因为你将使用更多的原始Python,并学习设置自己的脚手架和文件夹结构,这将帮助你理解Django背后的原理。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接