如何从PHP过渡到Python Django?

这是我的背景:
使用PHP / MySql体验。

Beginner使用OOP的经验</ p>


  1. 为什么我要学习Python Django?
    我基于SO的搜索并阅读了一些答案而放弃了 ,Python是一种优秀,干净,结构化的语言。 使用Django框架,编写比PHP短的代码更容易</ p> </ li>

  2. 问题</ p>


    1. 我可以像在PHP中一样在Django中做所有事情吗? </ p> </ li>

    2. Django作为PHP在Web开发中是一个“大”的打击吗? 我知道Python是一种非常通用的语言,但我专注于Web开发,并且不想知道Django如何在Web开发中排名。</ p> </ li>

    3. < p>使用PHP,PHP和Mysql非常密切相关,Django和Mysql之间是否存在密切关系? </ p> </ li>
    4. 在PHP中,您可以在一个脚本中轻松切换HTML,CSS,PHP。 Python在其他语言之间提供这种类型的易用性吗? 或者我如何将HTML,CSS,javascript与Python结合使用?</ p> </ li>
      </ ol> </ li>
      </ ol>
      </ div>

展开原文

原文

Here's my background: Decent experience with PHP/MySql. Beginner's experience with OOP

  1. Why I want to learn Python Django? I gave in, based on many searches on SO and reading over some of the answers, Python is a great, clean, and structured language to learn. And with the framework Django, it's easier to write codes that are shorter than with PHP

  2. Questions

    1. Can i do everything in Django as in PHP?

    2. Is Django a "big" hit in web development as PHP? I know Python is a great general-purpose language but I'm focused on web development and would like to know how Django ranks in terms of web development.

    3. With PHP, PHP and Mysql are VERY closely related, is there a close relation between Django and Mysql?

    4. In PHP, you can easily switch between HTML, CSS, PHP all in one script. Does Python offer this type of ease between other languages? Or how do I incorporate HTML, CSS, javascript along with Python?

dongpao1873
dongpao1873 它们都是一样的,没有一种语言可以做,而另一种语言无法做到。你甚至可以编写你的网络应用程序。在汇编程序中,如果你有时间和资源。
大约 10 年之前 回复

4个回答




我可以像在PHP中一样在Django中执行所有操作吗?</ p>
</ blockquote>
\ n

总是</ p>


Django在Web开发中是一个“大”的热门话题吗?</ p>
</ blockquote>

只有时间会证明。</ p>


使用PHP,PHP和Mysql非常密切相关,Django和Mysql之间是否存在密切关系?</ p>
< / blockquote>

Django支持多个RDBMS接口。 MySQL很受欢迎,SQLite和Postgres也很流行。</ p>


在PHP中,您可以在一个脚本中轻松地在HTML,CSS,PHP之间切换。</ p>
</ blockquote>

这根本不适用于Django。</ p>


或者如何将HTML,CSS,javascript与 Python?</ p>
</ blockquote>

实际上是做Django教程。 您将看到演示文稿(通过模板创建的HTML)和处理(通过Python视图函数)如何组合在一起。 它不像PHP。</ p>
</ div>

展开原文

原文

Can i do everything in Django as in PHP?

Always

Is Django a "big" hit in web development as PHP?

Only time will tell.

With PHP, PHP and Mysql are VERY closely related, is there a close relation between Django and Mysql?

Django supports several RDBMS interfaces. MySQL is popular, so is SQLite and Postgres.

In PHP, you can easily switch between HTML, CSS, PHP all in one script.

That doesn't really apply at all to Django.

Or how do I incorporate HTML, CSS, javascript along with Python?

Actually do the Django tutorial. You'll see how the presentation (via HTML created by templates) and the processing (via Python view functions) fit together. It's not like PHP.

dongxiaoxing3058
dongxiaoxing3058 “为什么它更容易维护?” 这是一个单独的问题。 与所有这些类似:stackoverflow.com/search?q=separation+of+concerns。 也许这回答了你的问题:stackoverflow.com/questions/1376643/mvc-separation-of-concerns
大约 10 年之前 回复
dongpei2835
dongpei2835 1,做教程。 2,建立几个网站。 3,反思关注点的分离是一件好事。 对于为什么分离更容易维护,没有简单的答案。 但是,在你完成它之后,你会更喜欢它。
大约 10 年之前 回复
dtvnbe1428
dtvnbe1428 你能详细说明为什么它更容易维护吗?
大约 10 年之前 回复
douqu8828
douqu8828 是的,维护和扩展更容易/更好。
大约 10 年之前 回复
duanlu1279
duanlu1279 谢谢!! 是的,我正准备开始Django教程,只是想我之前提出一些“基本”问题; 不要试图懒惰或任何东西。 似乎Django遵循MVC,它比PHP好得多(除非使用框架)
大约 10 年之前 回复




在PHP中,您可以在一个脚本中轻松切换
HTML,CSS,PHP。

Py Python在其他语言之间提供这种类型的易用性吗? 或者我如何将HTML,CSS,javascript
与Python结合使用?</ p>
</ blockquote>

这就是PHP易于学习的原因之一。 这也正是为什么这么多(如果不是大多数)PHP项目如此完整的混乱。 这就是导致“意大利面条代码”综合症的原因。</ p>

Django完全将页面设计与视图逻辑与URL路由完全分离(实际上大多数现代MVC或MTV框架都是如此) )。 因此,模板位于一个位置,数据结构定义位于另一个位置,定义其交互的逻辑位于另一个位置。 这需要一些习惯,但有很大的回报。 </ p>

对于来自PHP的人来说,另一件需要习惯的事情就是文件和foldernames不再对URL有直接影响。 例如,在PHP中,您可能有foldername / filename.php,URL可以是 http:// example。 COM / FOLDERNAME / filename.php 。 它不像Django那样工作。 而是在文件(urls.py)中定义URL结构。 在该“地图”中,您可以定义在截获匹配的URL时将调用哪条逻辑(“视图代码”)。 一切都是这样抽象的。 结果是更清晰,更合理的站点布局和逻辑。</ p>
</ div>

展开原文

原文

In PHP, you can easily switch between HTML, CSS, PHP all in one script. Does Python offer this type of ease between other languages? Or how do I incorporate HTML, CSS, javascript along with Python?

That's one of the reasons why PHP is so easy to learn. And it's also exactly why so many (if not most) PHP projects are such a complete mess. It's what leads to the "spaghetti code" syndrome.

Django is all about complete separation of page design from view logic from URL routing (in fact this is true of most modern MVC or MTV frameworks). So templates are in one place, data structure definitions are in another, and the logic that defines their interaction is in another. It takes a bit of getting used to, but has a huge payoff.

Another thing that takes getting used to for people coming from PHP is that fact that file and foldernames no longer have a direct bearing on the URL. For example in PHP, you might have foldername/filename.php and the URL would be http://example.com/foldername/filename.php. It doesn't work like that in Django. Instead, you define a URL structure in a file (urls.py). In that "map" you define which piece of logic ("view code") will be called when a matching URL is intercepted. Everything is abstracted like that. The result is a much cleaner, more logical site layout and logic.




  1. 是。</ li>
  2. 很难确切地说出如何</ 它是受欢迎的。 </ li>
  3. MySQL是正式支持。< / li>
  4. 是的,但可能不像你想象的那样。 请阅读这个并且也遵循教程 S.Lott提到。</ li>
    </ ol>
    </ div>

展开原文

原文

  1. Yes.
  2. It's very hard to tell exactly how popular it is.
  3. MySQL is officially supported.
  4. Yes, but probably not in the way you think. Please read this and also follow the tutorial that S.Lott mentions.




  1. 不。 你只能做得更好。</ li>
  2. 很棒,很受欢迎。 由Mediatemple等最佳主机提供支持。</ li>
  3. 不。 您可以在settings.py中将'mysql'更改为'postgresql'或'sqlite'。</ li>
  4. 不! Python永远不会让你有权在一个文件中混淆所有东西,并在世界上制造最糟糕的东西。 模板,静态服务器。</ li>
    </ ol>

    Django是一个模型 - 模板 - 视图框架,适用于从小到大的任何应用程序。 PHP仅适用于小型应用程序。 是的,PHP ==个人主页,哈哈。</ p>

    P.S。 您也可以缩小CSS和JS。 并编译为一个文件(一个js,一个css)。 所有django资产。 是的,有更多可重用的Django应用程序(用于注册,twi / facebook / openid auth,oembed,其他东西)。 只需搜索Bitbucket和Github的“django”。 不需要重新发明自行车,就像使用PHP一样。</ p>
    </ div>

展开原文

原文

  1. No. You can only do a LOT better.
  2. Awesome, popular. Supported by best hosters like Mediatemple.
  3. No. You can just change 'mysql' to 'postgresql' or 'sqlite' in your settings.py.
  4. NO! Python would never give you the right to mix up everything in one file and make the shittest shit in the world. Templates, static server.

Django is a Model-Template-View framework, great for any applications, from small to huge. PHP works fine only with small apps. Yeah, PHP == Personal Home Page, lol.

P.S. Also you can minify your CSS and JS. And compile to one single file (one js, one css). All with django-assets. And yeah, there's a lot more reusable Django apps (for registration, twi/facebook/openid auth, oembed, other stuff). Just search Bitbucket and Github for "django". No need to reinvent a bicycle, like you do with PHP.

duanrong6802
duanrong6802 亵渎的+1。 糟糕的代码总是值得咒骂。
大约 10 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问