当我使用Django模板渲染器渲染一个页面时,我可以传递一个包含各种值的字典variables,使用{{ myVar }}在页面中操作它们。 有没有办法在Javascript中访问相同的variables(也许使用DOM,我不知道Django如何使variables可访问)? 我希望能够根据传入variables中包含的值使用AJAX查找来查找详细信息。
希望做一个非常小的,快速的肮脏的一面项目。 我喜欢这样一个事实,即Google App Engine正在Python中运行,Django内置于其中 – 为我提供了尝试该平台的借口…但是我的问题是: 除了玩具问题之外,有没有人使用过应用引擎? 我在那里看到一些很好的示例应用程序,所以我会认为这对于真正的交易来说已经足够了,但是想得到一些反馈。 任何其他成功/失败的说明会很好。
我最近把Django从v1.3.1升级到v1.4。 在我以前的settings.py有 TEMPLATE_DIRS = ( os.path.join(os.path.dirname( __file__ ), 'templates').replace('\\', '/'), # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. ) 这将指向/Users/hobbes3/Sites/mysite/templates ,但是由于Django v1.4将项目文件夹移动到与应用程序文件夹相同的级别 ,因此我的settings.py文件现在位于/Users/hobbes3/Sites/mysite/mysite/而不是/Users/hobbes3/Sites/mysite/ 。 所以实际上我的问题现在是双重的: 如何使用os.path查看__file__一级目录。 换句话说,我想要/Users/hobbes3/Sites/mysite/mysite/settings.py使用相对pathfind/Users/hobbes3/Sites/mysite/templates 。 我应该在项目/User/hobbes3/Sites/mysite级别还是在/User/hobbes3/Sites/mysite/mysite上保存template文件夹(具有跨应用程序模板,如admin , registration等)?
我想为Django manage.py命令编写一个unit testing,在数据库表上执行后端操作。 我将如何直接从代码调用pipe理命令? 我不想在tests.py的操作系统的shell上执行命令,因为我不能使用使用manage.py test(testing数据库,testing虚拟电子邮件发件箱等等)设置的testing环境。
我经常发现自己想从Django中的查询集中获取第一个对象,如果没有,则返回None 。 有很多方法可以做到这一切都工作。 但是我想知道哪个是最高性能的。 qs = MyModel.objects.filter(blah = blah) if qs.count() > 0: return qs[0] else: return None 这是否导致两个数据库调用? 这似乎是浪费。 这是否更快? qs = MyModel.objects.filter(blah = blah) if len(qs) > 0: return qs[0] else: return None 另一种select是: qs = MyModel.objects.filter(blah = blah) try: return qs[0] except IndexError: return None 这会生成一个单一的数据库调用,这是很好的。 但是需要在很多时候创build一个exception对象,当你真正需要的只是一个简单的if-test时,这是一个非常耗费内存的事情。 我怎样才能做到这一点,只需一个数据库调用,而不用exception对象搅动内存?
当我有时阅读Django的代码,我看到在一些模板reverse() 。 我不太确定这是什么,但它与HttpResponseRedirect一起使用。 这个reverse()应该怎么使用? 如果有人用一些例子给出了答案,这将是很好的…
我得到一个数组arr传递给我的Django模板。 我想访问数组中的单个元素,例如arr[0] , arr[1]等,而不是遍历整个数组。 有没有办法做到这一点在Django模板? 谢谢。
我按照这里的说明使用内置的webserver运行Django,并能够使用python manage.py runserver成功运行它。 如果我从web服务器本地访问127.0.0.1:port,我得到Django页面指示它工作。 我意识到Django的networking服务器并不是一个生产服务器,但是对于我来说,testing的目的是能够从外部访问 – 即不是来自服务器上的networking浏览器,而是来自不同的计算机。 我试过了: http://mywebserver:port_django_runs_on 但它没有工作。 我也尝试使用IP(基于ifconfig)来访问: http://myipaddress:port_django_runs_on 哪个也没用 Web服务器正在运行,所以它必须从外部访问,我只是不知道如何。 我用Apache运行Linux,但是我没有用ApacheconfigurationDjango。 任何想法如何做到这一点?
我怎样才能通过降序我的查询设置在Django的date? Reserved.objects.all().filter(client=client_id).order_by('check_in') 我只是想从check_indate的所有保留下降过滤。
我的内存使用量随着时间增加,重新启动Django对用户不友善。 我不确定如何去分析内存使用情况,但如何开始测量的一些提示将是有用的。 我有一种感觉,有一些简单的步骤可以产生巨大的收益。 确保“debugging”设置为“假”是一个明显的大问题。 任何人都可以推荐别人 在低stream量的网站上caching会有多大改进? 在这种情况下,我使用mod_python在Apache 2.x下运行。 我听说mod_wsgi有点精简,但是在这个阶段切换会非常棘手,除非我知道这个收益会很大。 编辑:感谢迄今为止的提示。 任何build议如何发现什么是使用内存? 有没有任何指导Python内存分析? 同样如上所述,有几件事情会使得切换到mod_wsgi变得非常棘手,所以我想对在这个方向前进之前所期待的收益有一些了解。 编辑:卡尔在这里发布了一个稍微更详细的回复,值得一读: Django部署:切割Apache的开销 编辑: Graham Dumpleton的文章是我在MPM和mod_wsgi相关的东西上find的最好的文章 。 我感到非常失望的是,没有人可以提供关于debugging应用程序本身的内存使用情况的任何信息。 最后编辑:那么我一直在讨论这个与Webfaction,看看他们是否可以协助重新编译Apache,这是他们的话: “我真的不认为你可以通过切换到MPM Worker + mod_wsgi设置获得很多好处,我估计你可以节省大约20MB,但可能不会超过这个数量。 所以! 这使我回到我原来的问题(我仍然不明智)。 人们如何去确定问题所在? 这是一个众所周知的格言,如果不经过testing就不会进行优化,以查看需要优化的地方,但是很less有关于测量Python内存使用情况的教程,而且对于Django都没有。 感谢大家的帮助,但我认为这个问题仍然是开放的! 另一个最后的编辑;-) 我在django-users列表上询问了这个问题,并得到了一些非常有帮助的回复 老实说最后的更新! 这刚刚发布。 可能是最好的解决scheme了: 用Pympler分析Django对象大小和内存使用情况