小编Joe*_*tar的帖子

如何在Django中的CharField上添加占位符?

以这个非常简单的形式为例.

class SearchForm(Form):
    q = forms.CharField(label='search')
Run Code Online (Sandbox Code Playgroud)

这将在模板中呈现:

<input type="text" name="q" id="id_q" />
Run Code Online (Sandbox Code Playgroud)

但是,我想将"占位符"属性添加到此字段,其值为"搜索",以便HTML看起来像:

<input type="text" name="q" id="id_q" placeholder="Search" />
Run Code Online (Sandbox Code Playgroud)

我希望通过字典或类似的方式将占位符值传递给表单类中的CharField:

q = forms.CharField(label='search', placeholder='Search')
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最佳方法是什么?

python django django-forms

190
推荐指数
6
解决办法
9万
查看次数

访问django管理模板中的对象

我正在覆盖change_form.html模板,并希望显示指向其他相关对象的链接.

覆盖管理模板时,有没有办法访问模板中编辑的对象?或者可能以某种方式将该对象注册到管理员时将该对象传递给模板?

django django-templates django-admin

33
推荐指数
1
解决办法
9091
查看次数

如何通过模型编写与SelfToMany关系的Django模型

我想要一个ManyToMany与自己有关系的模型,我不知道怎么写这个,但我试着写一些代码来说明我想做什么.

class Person(models.Model):
   name = models.CharField()
   occupation = models.CharField()

   friends = models.ManyToManyField('self', through = PersonFriends)
Run Code Online (Sandbox Code Playgroud)

我的模特,我希望朋友们通过

class PersonFriends(models.Model)
   ???
   comment = models.CharField()
Run Code Online (Sandbox Code Playgroud)

ManyToMany与现场通过关系,如果其他模型的名字是"宠物",例如我会通过类的名字我在这领域personpet,使他们的模型.ForeignKey(Person)Pet例如

由于他们是同一个型号,我fields在我的PersonFriends模型中为两个人的名字命名了什么?

django django-models django-orm

11
推荐指数
2
解决办法
5432
查看次数

如何在Django中的模型上使用error_messages

我理解文档http://docs.djangoproject.com/en/dev/ref/models/fields/,你可以将error_messages添加到模型字段并提供自己的错误消息字典.但是,你应该通过的词典的关键是什么?

class MyModel(models.Model):
   some_field = models.CharField(max_length=55, error_messages={'required': "My custom error"})
Run Code Online (Sandbox Code Playgroud)

但是,如果在使用的模型表格上执行此操作更容易,也可以使用.我宁愿不必再创建显式创建每个字段及其类型.这是我试图避免的:

class MyModelForm(forms.ModelForm):
    some_field = forms.CharField(error_messages={'required' : 'Required error'})
Run Code Online (Sandbox Code Playgroud)

更新2:我的项目中使用的测试代码

我的型号:

class MyTestModel(models.Model):
    name = models.CharField(max_length=127,error_messages={'blank' : 'BLANK','required' : 'REQUIRED'})
Run Code Online (Sandbox Code Playgroud)

我的表格:

class EditTestModel(ModelForm):
    class Meta:
        model = MyTestModel
Run Code Online (Sandbox Code Playgroud)

我的看法:

tf = EditTestModel({'name' : ''})

print tf.is_valid() # prints False
print tf.full_clean() # prints None
print tf # prints the form, with a <li> error list containg the error "This field is required"


<tr><th><label for="id_name">Name:</label></th><td><ul class="errorlist"><li>This field is …
Run Code Online (Sandbox Code Playgroud)

django django-models django-forms

7
推荐指数
1
解决办法
1万
查看次数

提交建议

我正在构建一个小的PyGTK应用程序,我有一个文本输入字段(当前是ComboBoxEntry),其中填充了一些用户应该可以选择的值.

我想我想要做的是过滤掉匹配的字段并仅显示那些字段,以便使用键盘箭头的用户可以选择其中一个匹配字段.

为了给出一些背景知识,预定义的值是一堆网址,用户应该可以从theese中选择或填写一个新的.

示例:预定义的URL:

当用户键入' http://www.g '时,将显示以该字符串开头的三个URL(以某种方式),当键入' http://www.goog ' 时,将显示两个以此开头的URL

有任何想法吗?

python pygtk

6
推荐指数
1
解决办法
1714
查看次数

我可以将经理添加到多人关系中吗?

我有两个模型在某种程度上与'through'表有很多关系吗?

class Bike(models.Model):
   nickname = models.CharField(max_length=40)
   users    = models.ManyToManyField(User, through='bike.BikeUser')
Run Code Online (Sandbox Code Playgroud)

BikeUser类

class BikeUser(models.Model):
   bike     = models.ForeignKey(Bike)
   user     = models.ForeignKey(User)
   comment  = models.CharField(max_length=140)
Run Code Online (Sandbox Code Playgroud)

我想为Bike类添加功能以便与用户合作,是否有最佳实践方法.我想避免在Bike类中添加太多方法,而是让某种管理器可以完成

就像是:

bike.bikeusers_set.commonMethod()
Run Code Online (Sandbox Code Playgroud)

要么

bike.bikeusers.commonMethod()
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最佳方法是什么?

django django-models manytomanyfield

5
推荐指数
1
解决办法
3706
查看次数

django manytomany through

如果我有两个与直通模型有很多关系的模型,我该如何从"通过"表中获取数据.

class Bike(models.Model):
   nickname = models.CharField(max_length=40)
   users    = models.ManyToManyField(User, through='bike.BikeUser')
Run Code Online (Sandbox Code Playgroud)

BikeUser类

class BikeUser(models.Model):
   bike     = models.ForeignKey(Bike)
   user     = models.ForeignKey(User)
   comment  = models.CharField(max_length=140)
Run Code Online (Sandbox Code Playgroud)

我会在该自行车上添加一个用户(假设我已经拥有了myBike和myUser)

BikeUser.objects.create(bike = myBike, user = myUser, comment = 'Got this one at a fancy store')
Run Code Online (Sandbox Code Playgroud)

我可以通过myBike.users.all()获取'myBike'上的所有用户,但我如何获得'comment'属性?

我想做点什么

for myBikeUser in myBike.users.all():
   print myBikeUser.comment
Run Code Online (Sandbox Code Playgroud)

django django-models manytomanyfield

3
推荐指数
1
解决办法
6039
查看次数