草庐IT

django-extensions

全部标签

python - django: select_related() 在一个已经存在的对象上?

如果我正在使用django检索对象,我可以使用.select_related()指示django也获取所有外键对象,即:obj=ModelClass.objects.select_related().get(id=4)#1dbhitfoo=obj.long.chain.of.stuff#nodbhit如果我已经有了obj,但还没有.select_related(),那就是:defdoit(obj):obj.long.chain.of.stuff#4dbhits有没有办法让django填写它所有的外键关系?像这样的东西:defdoit(obj):obj.magic()#1dbhitobj

python - django-social-auth : How to redirect example. com 到 127.0.0.1 :8000?

我相信许多Django开发人员在使用社交身份验证时一定会遇到这个问题。最初当你开发它时,你想在你的本地服务器上测试它,因此你会在你的etc/hosts中重定向域名。我在文档中发现了这一点:https://github.com/omab/django-social-auth#facebookIfyoudefinearedirectURLinFacebooksetuppage,besuretonotdefinehttp://localhost:8000becauseitwon'tworkwhentesting.InsteadIdefinehttp://myapp.comandsetupam

python - 通过模型中的方法对 Django 模型进行排序

所以,假设我有这样的模型:classFoo(Model):name=CharField(max_length=200)deflatest_comment(self):try:object=self.comment_set.latest()ifobject:returnobject.when_posted.date()except:return""classComment(Model):when_posted=DateTimeField()text=TextField()然后这是modelAdmin:classFooAdmin(ModelAdmin):list_display=['nam

python - 如何正确使用django UserCreationForm

我是Django的新手,刚刚开始我的第一个网站。我正在尝试为新用户设置注册。我使用内置View进行登录和注销,但没有用于注册,在文档中,它说我应该使用内置表单:UserCreationForm。我的View代码是:defregister(request):ifrequest.method=='POST':form=UserCreationForm(request.POST)ifform.is_valid():user=User.objects.create_user(form.cleaned_data['username'],None,form.cleaned_data['passwo

javascript - 使用 Django 和 Backbone 进行渐进增强 - 如何将两者集成?

我有一个非常简单的Django应用程序,它允许用户提交表单并查看根据国家/地区、持续时间和价格过滤的假期列表。我想在前端使用Backbone,这样启用JS的用户不需要GET就可以看到结果,而是可以动态加载。我想使用progressiveenhancement,让有JS的用户获得Backbone体验,没有JS的用户仍然可以使用表单。我也想关注DRYprinciple.我的问题是如何最好地做到这一点。是否有将两者一起使用且重复次数最少的示例?我特别想到:路由像/italy/1-week/from-500-to-1000/这样的URL-我现在需要写两套路由代码,一套在Django的urls.

python - 如何在 django-rest-framework 的模型 View 集中取消设置 csrf?

如何在django-rest-framework的模型View集中取消设置csrf?我将使用django-rest-framework的viewsets.ModelViewSet(http://django-rest-framework.org/api-guide/viewsets.html#modelviewset)。我的应用程序是api服务器。所以我不需要使用csrf。但我不知道如何取消设置csrf。请举个例子! 最佳答案 CSRF只有在您使用SessionAuthentication时才会强制执行。如果您使用的是其他身份验证形

python - Django - 记录唯一 ID

我正在为每个传入请求分配一个唯一ID,并希望在完成日志记录时将其自动包含在日志中(而不是在所有地方明确包含它)。我正在使用中间件生成此唯一ID并将其存储在本地线程中。我想修改Django的日志格式化程序以直接包含这个唯一ID:LOGGING={...'formatters':{'full':{'format':'%(asctime)s%(levelname)s%(name)s-%(message)s',}}...}如何在不在每个日志语句中显式添加的情况下将唯一ID组件添加到格式化程序? 最佳答案 使用过滤器:该技术在thispost

python - 在模板标签中获取模板名称(Django)

有没有办法在模板标签中获取模板名称(正在解析)?我已经阅读搜索并没有找到任何东西,只有这篇以前的帖子Gettingthetemplatenameindjangotemplate这对我帮助不大,因为答案依赖于settings.DEBUG为真,而在我的情况下不可能。我真的不知道从哪里开始,所以欢迎任何建议:)编辑所以基本上我想要的是创建一个可插入标签,当呈现时它会检查标签对象,这将是标签对象的源classTag(models.Model):template=models.CharFIeld(max_length=50)name=models.CharField(max_length=100

python - Django 内联表单集和选择字段生成过多的数据库查询

我有一个包含许多外键字段的模型,例如具有“类型”、“级别”、“颜色”、“强度”字段的模型产品(只是一个通用示例)。然后我有一个页面可以使用Type表单编辑给定类型的所有产品,并将产品作为内联表单集,并可以选择使用extra=10内联添加其他产品。我觉得很奇怪的是,每次当我在模板上输出一个外键选择字段时,Django都会查询数据库以获取选项(每次)。例如:{%forforminformset%}{{form.level}}{{form.color}}{{form.intensity}}{%endfor%}对于20个产品(和10个空的额外表单),上面的代码从级别、颜色和强度发出30个sel

python - Django TestCase 不在辅助数据库上使用事务

我正在使用Django1.3.1。我有两个数据库,我的一些模型在一个数据库中,一些在另一个数据库中。两个数据库都是contrib.gis.db.backends.postgis数据库。令我惊讶的是,Django的TestCase没有回滚我在测试之间在辅助数据库中所做的更改。在下面的代码中,myproject.models.WellOwner是一个非常简单的模型,基本上只有一个字段“name”。路由器说它应该在辅助数据库中。第一个测试断言成功,第二个测试失败:fromdjango.testimportTestCasefrommyproject.modelsimportWellOwnerc