发行说明说: Django 1.3为Python的日志模块添加了框架级别的支持。 这很好。 我想利用这一点。 不幸的是, 这些文档并没有把所有的东西都交给我,而是以完整的工作示例代码的forms呈现在银盘上,这些代码演示了这是多么的简单和有价值。 我如何设置这个时髦的新function,使我可以胡椒我的代码 logging.debug('awesome stuff dude: %s' % somevar) 并看到文件“/tmp/application.log”填写 18:31:59 Apr 21 2011 awesome stuff dude: foobar 18:32:00 Apr 21 2011 awesome stuff dude: foobar 18:32:01 Apr 21 2011 awesome stuff dude: foobar 默认的Python日志logging和这个“框架级支持”有什么区别?
是否有可能在Django的以下模板中访问forloop.counter for the outermost for循环: {% for outerItem in outerItems %} {% for item in items%} <div>{{ forloop.counter }}. {{ item }}</div> {% endfor %} {% endfor %} forloop.counter在上面的例子中返回最里面的for循环的计数器
我想要序列化一个模型,但想要包含一个额外的字段,需要在待实例化的模型实例上进行一些数据库查找: class FooSerializer(serializers.ModelSerializer): my_field = … # result of some database queries on the input Foo object class Meta: model = Foo fields = ('id', 'name', 'myfield') 什么是正确的方法来做到这一点? 我看到你可以传递额外的“上下文”到序列化程序,是正确的答案传递在上下文字典中的额外的领域? 采用这种方法,获取我所需要的字段的逻辑将不会与序列化程序定义自成一体,这是理想的,因为每个序列化的实例都需要my_field 。 在DRF序列化文件的其他地方,它说 “额外的字段可以对应任何属性或在模型上可调用”。 额外的领域我在说什么? 我应该在Foo的模型定义中定义一个返回my_field值的函数,而在序列化程序中,我将my_field连接到可调用的? 这是什么样子? 在此先感谢,如有必要,我们很乐意澄清这个问题。
在研究Google App Engine(GAE)时,很明显使用Django在GAE上使用Python进行开发非常受欢迎。 我一直在网上search,find使用Django的成本和收益的信息,找出为什么它如此受欢迎。 虽然我已经能够find关于如何在GAE上运行Django以及各种方法的各种资源,但是我还没有find任何比较分析, 说明为什么 Django更适合使用Google提供的webapp框架。 清楚的是,为什么在GAE上使用Django对于Django中的现有技能(无疑是大多数Python Web开发人员)或Django中的现有代码(使用GAE更多的是移植练习)是有用的。 然而,我的团队正在评估GAE用于一个全新的项目,我们现有的经验是TurboGears,而不是Django。 当BigTable库取代了Django的ORM时,Django为什么对开发团队有利,这是相当困难的,会话和authentication必然会改变,Django的模板(如果需要的话)可以在不使用整个Django堆栈的情况下使用。 最后,很显然,如果我们之后想要离开GAE,并且需要一个平台来针对外stream,那么使用Django确实具有提供“退出策略”的优势。 我非常感谢帮助指出为什么使用Django比在GAE上使用webapp更好。 我对Django也完全没有经验,所以在GAE上编写更小的特性和/或便利对我来说也是很有价值的。
我的django应用程序在制作上变得非常慢。 这是由于一些复杂或无索引的查询而引起的。 有没有Django的方式来分析我的应用程序?
我正在使用django-rest-framework 。 它提供了一个令人敬畏的Djangopipe理风格可浏览的自我loggingAPI。 但是任何人都可以访问这些页面并使用界面添加数据(POST)。 我怎样才能禁用它?
我正试图通过每个用户configuration文件中称为configuration文件的自定义字段来过滤用户。 该字段称为级别,是0-3之间的整数。 如果我使用equals进行筛选,则按照预期得到所选级别的用户列表: user_list = User.objects.filter(userprofile__level = 0) 当我尝试使用小于: user_list = User.objects.filter(userprofile__level < 3) 我得到的错误: 全局名称“userprofile__level”未定义 有没有按<或>过滤,还是我在吠叫错误的树。
一般来说,我对web应用程序和数据库的东西很陌生,所以这可能是一个愚蠢的问题。 我想创build一个模型(“CategoryModel”),该模型指向模型的另一个实例(其父)的主ID。 class CategoryModel(models.Model): parentId = models.ForeignKey(CategoryModel) 我该怎么做呢? 谢谢!
我试图运行使用django 1.6 statsd /石墨。 在访问石墨URL时,我得到Django模块错误 文件“/opt/graphite/webapp/graphite/urls.py”,第15行,来自django.conf.urls.defaults import * ImportError:没有名为defaults的模块 但是,我没有find默认的 django包里面/Library/Python/2.7/site-packages/django/conf/urls/ 请帮助解决这个问题。
我有这个领域的forms: city = forms.ModelChoiceField(label="city", queryset=MyCity.objects.all()) district = forms.ModelChoiceField(label="district", queryset=MyDistrict.objects.all()) area = forms.ModelChoiceField(label="area", queryset=MyArea.objects.all()) 地区来自点击城市和地区来自点击区域。 使用queryset=MyDistrict.objects.all()和queryset=MyArea.objects.all()表单将会非常繁重。 我如何使查询集默认为空? 提前致谢