Tag: django

Django的 – 如何指定validation失败的领域?

我在pipe理页面中显示了这个模型: class Dog(models.Model): bark_volume = models.DecimalField(… unladen_speed = models.DecimalField(… def clean(self): if self.bark_volume < 5: raise ValidationError("must be louder!") 正如你所看到的,我对模型进行了validation。 但是,我想要发生的是pipe理页面显示bark_volume字段旁边的错误,而不是像现在这样的一般错误。 有没有办法指定哪个字段的validation失败? 非常感谢提前。

你如何将PIL`Image`转换成Django`File`?

我试图将UploadedFile转换为PIL Image对象来缩略图,然后将缩略图函数返回的PIL Image对象转换回File对象。 我怎样才能做到这一点?

如何在Django 1.5中使用'User'作为外键

我做了一个自定义configuration文件模型,看起来像这样: from django.db import models from django.contrib.auth.models import User class UserProfile(models.Model): user = models.ForeignKey('User', unique=True) name = models.CharField(max_length=30) occupation = models.CharField(max_length=50) city = models.CharField(max_length=30) province = models.CharField(max_length=50) sex = models.CharField(max_length=1) 但是当我运行manage.py syncdb ,我得到: myapp.userprofile:'user'与模型User有一个关系,它没有被安装或是抽象的。 我也试过: from django.contrib.auth.models import BaseUserManager, AbstractUser 但它给出了同样的错误。 我错在哪里,如何解决这个问题?

django更改默认的runserver端口

我想使manage.py runserver在一个无关的config.ini监听可指定的默认端口。 有没有比parsingsys.argv内manage.py和插入configuration的端口更容易的修复? 我们的目标是运行./manage.py runserver而不必每次都指定地址和端口,而是让它从config.ini获取参数。

我可以使djangopipe理中的list_filter只显示引用的ForeignKeys?

我有一个Django的应用程序有两个这样的模型: class MyModel(models.Model): name = models.CharField() country = models.ForeignKey('Country') class Country(models.Model): code2 = models.CharField(max_length=2, primary_key=True) name = models.CharField() MyModel的admin类看起来像这样: class MyModelAdmin(admin.ModelAdmin): list_display = ('name', 'country',) list_filter = ('country',) admin.site.register(models.MyModel, MyModelAdmin) Country表包含大约250个国家。 只有less数国家实际上被一些MyModel实例引用。 问题是,在Djangopipe理中的列表filter列出filter面板中的所有国家 。 列出所有国家(而不仅仅是那些被实例引用的国家)在这种情况下几乎无法实现列表filter的目的。 有没有一些只显示MyModel引用的国家作为列表筛选器中的select? (我使用Django 1.3。)

Django:使用<select multiple>和POST

我在我的模板中使用这样的东西 <select multiple="multiple" name="services" id="services" size="5"> {% for service in services %} <option value="{{service.id}}">{{service}}</option> {% endfor %} </select> 当我在Firebug或Djangodebugging中查看POST数据时,我发现它只发送一个值。 我做错了什么或误解了一个概念?

django – 如何检测testing环境

这个问题似乎很简单,但不幸的是,它有点难以谷歌。 我的问题是这样的:我怎么能在一个视图中检测到它在testing环境中被调用? #pseudo_code def my_view(request): if not request.is_secure() and not TEST_ENVIRONMENT: return HttpResponseForbidden()

组织Djangounit testing

现在我有我的Djangounit testing生活在mcif/tests.py 。 我宁愿有更像mcif/tests/foo_test.py , mcif/tests/bar_test.py等等的东西,但是如果我按照这种方式组织我的testing,Django就会翻转。 有没有办法做我想做的事情,或者我必须在一个文件中有我所有的testing?

只有在模板中,Django文件域返回文件名

我在我的模型FileField中有一个字段。 这给了我一个types为File的对象,它具有以下方法: File.name:文件的名称,包括MEDIA_ROOT的相对path。 我想要的是像.filename这样只会给我的文件名,而不是path 就像是: {% for download in downloads %} <div class="download"> <div class="title">{{download.file.filename}}</div> </div> {% endfor %} 这会给像myfile.jpg这样的东西 谢谢

Django ModelForm有一个隐藏的input

所以我有我的TagStatus模型。 我正在试图为它做一个ModelForm。 不过,我的表单要求用{{tag.name}}填充隐藏的input。 我一直在查看文档,我不知道如何使标签字段成为隐藏的input。 也许ModelForm不是要走的路? models.py: class TagStatus(models.Model): user = models.ForeignKey(User, null=True, unique=True) status = models.CharField(max_length=2, choices=tag_statuses) tag = models.ForeignKey(Tag, null=True, blank=True) def __unicode__(self): return self.status def save(self, *args, **kwargs): super(TagStatus, self).save(*args, **kwargs) class TagStatusForm(modelForm): class Meta: model = TagStatus fields = ('status','tag') widgets = { 'select': Select, 'tag': ??? } django views.py: @login_required def […]