Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django开发版本与稳定版本_Python_Django_Google App Engine - Fatal编程技术网

Python Django开发版本与稳定版本

Python Django开发版本与稳定版本,python,django,google-app-engine,Python,Django,Google App Engine,我即将开始在Django上开发一个web应用程序,我想在Google app Engine上部署它。我了解到谷歌已经在应用引擎上安装了Django 0.96,但我看到的最新“官方”版本Django是1.2.3,在那里安装它有点费劲 我很好奇Django的哪个版本使用得最广泛 所以,你能告诉我应该基于以下标准升级和部署哪个Django版本吗 生产放行的稳定性和适用性 应用程序(或插件)的可用性以及社区最支持的版本 非常感谢 大多数人目前正在使用Django 1.2。你不应该使用或学习Django.

我即将开始在Django上开发一个web应用程序,我想在Google app Engine上部署它。我了解到谷歌已经在应用引擎上安装了Django 0.96,但我看到的最新“官方”版本Django是1.2.3,在那里安装它有点费劲

我很好奇Django的哪个版本使用得最广泛

所以,你能告诉我应该基于以下标准升级和部署哪个Django版本吗

  • 生产放行的稳定性和适用性
  • 应用程序(或插件)的可用性以及社区最支持的版本

  • 非常感谢

    大多数人目前正在使用Django 1.2。你不应该使用或学习Django.96——它非常古老,学习使用它不会让你为任何非应用引擎的Django工作做好准备,因为从那时起事情发生了重大变化

    应用程序引擎上的Django有些痛苦,因为您丢失了很多ORM,这是使用Django的一个很好的理由。您还无法简单地插入使用任何Django ORM的插件和可重用应用程序。任何带有models.py的东西都不起作用

    查看google应用程序引擎django,获取运行最新版本的帮助

    有工作要将GAE存储引擎集成到Django中,有几个项目有各种各样的工作实现,但我不希望在一段时间内有真正好的ORM支持—1.3(离发布还有几个月)将包括使编写NoSQL后端更容易的钩子,但Django可能不会附带一个

    虽然有针对Django旧版本的安全版本,但您确实应该使用最新的稳定版本进行开发。Django的主要发行版有非常强大的向后兼容性承诺,因此从1.2版到1.3版将是非常无缝的

    我强烈建议您在花费大量精力在appengine上运行之前,仔细考虑appengine为您的特定应用程序提供了什么。您失去了应用程序的可移植性,扩展仍然很困难,而且如果您的应用程序变得流行,您也不会节省资金。AppEngine不是一个宽容的入门平台

    有关此主题的更多对话,请看以下问题:


    特别是我的答案和对它的评论。

    AppEngine允许您使用其他版本的django开箱即用,使用起来只需一点痛苦。基本上,main.py(由
    app.yaml
    指定用于处理URL的模块)应该如下所示:

    import wsgiref.handlers
    
    
    from google.appengine.ext import webapp
    from google.appengine.ext.webapp import util
    
    import os
    os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
    
    from google.appengine.dist import use_library   # important bit
    use_library('django', '1.1')
    
    import django.core.handlers.wsgi
    def main():
      application = django.core.handlers.wsgi.WSGIHandler()
      # Run the WSGI CGI handler with that application.
      webapp.util.run_wsgi_app(application)
    
    if __name__ == '__main__':
      main()
    

    另外要考虑的是如何安装。我一定要从SVN安装django,因为它使更新更加容易

    我在我的站点上使用dev版本已经有一段时间了,还没有遇到一个bug,除了一个对管理站点有轻微影响的bug(svn已经修复了这个bug)


    我不知道人们是在使用1.2还是dev,但根据我的经验,dev非常适合。代码中可能存在的任何主要错误都会很快得到修复,svn up将帮助您获得最新的代码,您很可能会得到带有主要错误的修订版。

    谢谢!那么,您在哪里部署Django应用程序呢?有什么建议吗?我想要的东西是非常可扩展的,有一个免费的配额。我的预算很少,所以我在主机上的花费将取决于我获得的流量。我使用Rackspace和Slicehost在VPS设置中部署我的应用程序。因为我已经支付了托管费用,添加另一个小项目不需要花费任何费用,然后如果它增长,我可以将其拆分。您可以在大多数主机上部署Django应用程序。“自由”最终会咬到你。Rackspace产品非常便宜(在带宽之前,我每台服务器支付10美元)。另一个易于扩展的选项是亚马逊的AWS。他们目前向新客户提供一年的免费“微”实例。以上内容可能不适合您,因为管理服务器是一组非常专业的人才。如果这不是你的一杯茶,你可能会考虑Media Palm的提供:显然我有偏见(我在APP引擎团队),但是我对你的一些断言持怀疑态度:AppStand(TyphoonAE)()和AppStand(例如,AppEngine)更容易使用应用程序便携性,但是在App Engine上更容易,你确实节省了钱()它是一个优秀的入门平台()。开发版本相对稳定,但构建确实会定期中断。这对于开发来说很好,但我不会在上面运行生产站点。是的,但Django在App Engine上并不是开箱即用的,这是问题的关键。上面的代码是针对App Engine的。使用0.98是不合情理的,尽管它是随
    import django
    导入的默认版本,但appengine有1.1可用,这几乎没有那么痛苦。这不是最新的,但对于大多数用途来说可能已经足够好了。除非您需要1.1中没有的功能,否则上述方法比上传其他版本更容易处理。