Tag: django

如何限制列表对象模板的一面,而不是视图的一面

限制对象的方法之一是为这样的函数添加一个限制 def ten_objects(): obj = Model.objects.all()[0:10] # limit to 10 return {'objects': obj} 然而,你如何在模板内而不是在视图内实现这一点? 我知道你可以通过模板中的对象进行过滤并限制字符,但是你怎么实际限制循环中显示的对象的数量。 通过模板。 例如下面的代码将遍历所有对象…. <ul> {% for new in news %} <li> <p>{{ news.title }}</p> <p>{{ news.body }}</p> </li> {% endfor %} </ul> 如何打破循环,在第一个3个对象/物品之后说。 而我该如何在模板内部做到这一点。 提前致谢。

Django Forms和Bootstrap – CSS类和<divs>

我用Django的Twitter Bootstrap来渲染表单。 Bootstrap可以很好地格式化你的表单 – 只要你有它期望包含的CSS类。 不过,我的问题是由Django {{ form.as_p }}生成的表单不能很好地与Bootstrap一起呈现,因为它们没有这些类。 例如,Django的输出: <form class="horizontal-form" action="/contact/" method="post"> <div style='display:none' <input type='hidden' name='csrfmiddlewaretoken' value='26c39ab41e38cf6061367750ea8c2ea8'/> </div> <p><label for="id_name">Name:</label> <input id="id_name" type="text" name="name" value="FOOBAR" maxlength="20" /></p> <p><label for="id_directory">Directory:</label> <input id="id_directory" type="text" name="directory" value="FOOBAR" maxlength="60" /></p> <p><label for="id_comment">Comment:</label> <textarea id="id_comment" rows="10" cols="40" name="comment">Lorem ipsum dolor sic amet.</textarea></p> <p><label for="id_server">Server:</label> <select name="server" id="id_server"> […]

Django模板标签截断文本

Django具有截断字模板标签,它在给定的字数处剪切文本。 但是没有什么像truncatechars 。 给定的字符长度限制,在模板中剪切文本的最佳方法是什么?

DateTimeField不显示在pipe理系统中

我的“date”字段怎么没有出现在pipe理系统中? 在我的admin.py文件中 from django.contrib import admin from glasses.players.models import * admin.site.register(Rating) 和评级模型有一个叫做“date”的字段,看起来像这样 date = models.DateTimeField(editable=True, auto_now_add=True) 但是,在pipe理系统中,即使editable设置为True ,该字段也不会显示。 有人有什么主意吗?

Django视图不使用模板返回json

这与这个问题有关: Django根据客户端python返回json和html 我有一个Django应用程序的命令行python api。 当我通过api访问应用程序时,它应该返回json和浏览器它应该返回HTML。 我可以使用不同的URL来访问不同的版本,但是如何在views.py中使用一个模板渲染html模板和json? 要呈现的HTML我会使用: return render_to_response('sample/sample.html….) 但是,我怎样才能没有把json模板做同样的json? (内容types应该是application / json而不是text / html) 编辑1: 什么会确定JSON和HTML输出? 所以在我看来: if something: return render_to_response('html_template',…..) else: return HttpReponse(jsondata,mimetype='application/json') 谢谢

将我的signals.py文件保存在django中的正确位置

基于我从django网站阅读的文档,它似乎像应用程序文件夹中的signals.py是一个很好的开始,但是我面临的问题是,当我为pre_save创build信号,我尝试导入类从模型,与模型中任务的导入操作冲突。 看到我的代码如下 model.py from django.contrib.auth.models import User from django.db import models from django.utils.translation import gettext as _ from signals import * class Comm_Queue(CommunicatorAbstract): queue_statuses = ( ('P', _('Pending')), ('S', _('Sent')), ('E', _('Error')), ('R', _('Rejected')), ) status = models.CharField(max_length=10, db_index=True, default='P') is_html = models.BooleanField(default=False) language = models.CharField(max_length=6, choices=settings.LANGUAGES) sender_email = models.EmailField() recipient_email = models.EmailField() subject = […]

我如何应用filter到Django REST框架中的嵌套资源?

在我的应用程序中,我有以下模型: class Zone(models.Model): name = models.SlugField() class ZonePermission(models.Model): zone = models.ForeignKey('Zone') user = models.ForeignKey(User) is_administrator = models.BooleanField() is_active = models.BooleanField() 我正在使用Django REST框架创build一个资源,返回区域详细信息和嵌套资源,显示该区域的已validation用户的权限。 输出应该是这样的: { "name": "test", "current_user_zone_permission": { "is_administrator": true, "is_active": true } } 我已经创build了这样的序列化程序: class ZonePermissionSerializer(serializers.ModelSerializer): class Meta: model = ZonePermission fields = ('is_administrator', 'is_active') class ZoneSerializer(serializers.HyperlinkedModelSerializer): current_user_zone_permission = ZonePermissionSerializer(source='zonepermission_set') class Meta: model = […]

django多租户应用的最佳体系结构

我一直沉迷于正确/最佳的方式来创build一个基于Django的多租户应用程序。 一些解释: 应用程序可以由几个租户(tenant1,tenant2,…)使用。 所有的租户个人数据必须得到保护,防止其他租户(及其用户)的访问。 租户可以为应用程序对象创build额外的自定义字段。 当然,底层硬件限制了一个“系统”上租户的数量。 1)通过例如子域分隔每个租户,并使用底层的租户特定数据库 2)使用模型中的一些租户ID分离数据库中的租户数据 我正在考虑部署过程,系统部分(networking服务器,数据库服务器,工作节点等)的性能。 什么是最好的设置? 亲和骗子在哪里? 你怎么看?

我怎样才能unit testingDjango的消息?

在我的Django应用程序中,我试图编写一个unit testing来执行一个动作,然后检查响应中的消息。 据我所知,没有这样做的好方法。 我正在使用CookieStorage存储方法,我想要做类似于以下的事情: response = self.client.post('/do-something/', follow=True) self.assertEquals(response.context['messages'][0], "fail.") 问题是,我所有的回报是 print response.context['messages'] <django.contrib.messages.storage.cookie.CookieStorage object at 0x3c55250> 我怎么能把这个变成有用的东西呢,还是我做错了? 谢谢Daniel

Django模型字段validation

模型字段的validation应该在django中进行? 我可以命名至less两个可能的select:在模型的重载.save()方法或models.Field子类的.to_python()方法中(显然是为了工作,您必须编写自定义字段)。 可能的用例: 当绝对需要确保空string不会写入数据库时​​(空白= False关键字参数在这里不起作用,仅用于表单validation) 当需要确保时,“select”关键字参数在数据库级别上得到了尊重,而不仅仅在pipe理接口(类似于模拟枚举数据types) 在models.Field基类定义和派生类中也有一个类级属性empty_strings_allowed ,但它似乎并没有对数据库级别产生任何影响,这意味着我仍然可以用空string构造一个模型字段并将其保存到数据库。 我想避免(是的,这是必要的)。 可能的实现是 在现场层面: class CustomField(models.CharField): __metaclass__ = models.SubfieldBase def to_python(self, value): if not value: raise IntegrityError(_('Empty string not allowed')) return models.CharField.to_python(self, value) 在模型层面: class MyModel(models.Model) FIELD1_CHOICES = ['foo', 'bar', 'baz'] field1 = models.CharField(max_length=255, choices=[(item,item) for item in FIELD1_CHOICES]) def save(self, force_insert=False, force_update=False): if self.field1 not in MyModel.FIELD1_CHOICES: […]