给定一对一扩展模型,例如Django User模型:
class UserProfile(models.Model):
user = models.OneToOneField(User, related_name='profile', unique=True)
avatar = models.ImageField(_('Avatar'))
foo = models.CharField(max_length=100, verbose_name="xxx")
Run Code Online (Sandbox Code Playgroud)
如何在管理员中显示?
class UserAdmin(admin.ModelAdmin):
list_display = ('email', 'profile__foo' <--NOT WORKING )
Run Code Online (Sandbox Code Playgroud)
一个近乎匹配的问题是Django Admin:如何用两个处于oneToOne关系的模型显示list_display的字段值?
关于我的问题的背景:svn不会区分它认为是二进制的文件
$ svn diff data/assets/site/ir_gallery/images.kml
Index: data/assets/site/ir_gallery/images.kml
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/vnd.google-earth.kml+xml
Run Code Online (Sandbox Code Playgroud)
最近的堆栈溢出答案(svn diff:文件标记为二进制类型)显示您可以强制mime类型:
$ svn propset svn:mime-type 'text/plain' data/assets/site/ir_gallery/images.kml
property 'svn:mime-type' set on 'data/assets/site/ir_gallery/images.kml'
Run Code Online (Sandbox Code Playgroud)
请注意,先前的答案是不完整的......您还必须:
$ svn commit
Run Code Online (Sandbox Code Playgroud)
现在我的新问题是:我可以设置默认值,因此所有未来的"vnd.google-earth.kml + xml"文件都会被svn视为文本吗?红皮书在这个主题上显得沉默:http://svnbook.red-bean.com/en/1.2/svn.advanced.props.html只说:
...if a file's svn:mime-type property is set to a non-text MIME type
(generally, something that doesn't begin with text/, though there are
exceptions) then...
Run Code Online (Sandbox Code Playgroud)
什么例外?这些异常是否已编入svn代码或可访问?
如何在psql(postgres命令行客户端)中显示通常不可见的unicode字符?
在我得到的开源项目的"./configure"中:
user agent OS = Linux
./configure: line 13957: syntax error near unexpected token 0.9.3'
./configure: line 13957: GOBJECT_INTROSPECTION_CHECK(0.9.3)'
make: *** [config.status] Error 2
Run Code Online (Sandbox Code Playgroud)
Ubuntu 12.04软件包"gobject-introspection"和"libgirepository1.0-dev"存在.删除GOBJECT_INTROSPECTION_CHECK行允许configure完成,但项目稍后会失败.
如何干净地完成此配置步骤?谷歌搜索此问题显示针对同一阻塞问题针对众多操作系统项目提出的错误,但通常的答案是"安装gobject-introspection".
如何在加载页面后让Selenium IDE测试HTTP状态代码?我知道这在常规Selenium中是可能的(但很尴尬),在Selenium-IDE中怎么样?是否有插件或其他方式来获得类似的东西:
open http://www.example.com/changepassword/obama
assertHTTPStatus 5XX
Run Code Online (Sandbox Code Playgroud)
因此断言要么成功(或者这个案例失败)还是特定开放?在不检查状态代码的情况下,我必须检查页面文本,这是脆弱的,因为有人可能会重新设计错误页面的外观.
有许多现有的Stack问题涉及到这个主题而没有解决它的问题:
用于处理弹出窗口中出现的服务器端表单的良好现代模式或 django 应用程序有哪些?我的意思是:
假设 jquery 或 bootstrap 3 等通用库可用。DRY 解决方案的奖励点:我见过的大多数模式都有点毛团,而且我研究过的 django ajax 助手不能很好地解决或根本不能解决模式弹出问题。
在验证URLField之前,如何删除空格?
使用"clean_ [fieldname]()"似乎是来自https://docs.djangoproject.com/en/dev/ref/forms/validation/的文档化方法,但它不适用于URLField.我把它简化为一个基本的测试用例,可以在django shell中运行:
class XXXTestModel(models.Model):
url = models.URLField('URL',null=True,blank=True)
name = models.CharField(max_length=200)
class XXXTestForm(ModelForm):
def clean_url(self):
return self.cleaned_data['url'].strip()
def clean_name(self):
return self.cleaned_data['name'].strip()
class Meta:
model = XXXTestModel
fields = (
'url',
)
Run Code Online (Sandbox Code Playgroud)
从Django shell测试:
>>> django.VERSION
(1, 5, 1, 'final', 0)
>>> from xxx import XXXTestForm,XXXTestModel
>>> data = dict(url=' http://www.example.com/ ',name=' example ')
>>> f=XXXTestForm(data)
>>> f.is_valid();f.errors
False
{'url': [u'Enter a valid URL.']}
>>> f.cleaned_data
{'name': example'}
Run Code Online (Sandbox Code Playgroud)
关于堆栈溢出,这个问题有很多密切的愚蠢,但没有一个答案指导解决方案.
我知道如何向自动构建的ModelForm添加"类"或其他窗口小部件属性:
class ExampleSettingForm(ModelForm):
def __init__(self, *args, **kwargs):
super(ExampleSettingForm, self).__init__(*args, **kwargs)
self.fields['example_field'].widget.attrs['class'] = 'css_class'
class Meta:
model = Example
Run Code Online (Sandbox Code Playgroud)
如何在example_field中插入help_text =Field?
比较两个python值的最有效方法是什么,这两个值都可能是字符串,但可能是整数.到目前为止,我使用str(x)== str(y),但感觉效率低下(更重要的是)丑陋:
>>> a = 1.0
>>> b = 1
>>> c = '1'
>>> a == b
True
>>> b == c
False # here I wanted this to be true
>>> str(b)==str(c)
True # true, as desired
Run Code Online (Sandbox Code Playgroud)
我的实际对象是使用get()检索的字典值,其中大多数是字符串.
我如何告诉pycharm form.save()的返回类型在这种情况下是 CategoryQuestion对象?
def category_ask(request):
if request.method == 'POST':
form = CategoryQuestion_form(request.POST)
if form.is_valid():
question = form.save(commit=False)
question.who = request.user
question.dat<tab>
Run Code Online (Sandbox Code Playgroud) 在python调试器或django shell中创建一行for循环很容易:
>>>> for x in (1,2,3,4):print(x);
>>>> for x in Obj.objects.all():something(x);
Run Code Online (Sandbox Code Playgroud)
但是我怎么能在那里得到第二个for循环呢?
>>>> for x in (1,2,3,4):print x;for y in (5,6):print x,y;
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
我很在意,因为在交互式工作时对前一个命令进行向上箭头编辑很好(这不是尝试在任何其他上下文中使用单行命令).
注意:"打印"只是一个例子.在实际使用中,我会迭代对象或执行其他编程或调试任务,例如'for s in Section.objects.all():for s in s.children():print j'.我使用的是Python 2.7.
我应该清除除root之外ID为0的所有用户.例如,我的passwd文件包含ID为0的用户root和ID为0的用户homer.
我试过类似的东西
grep :x:0: passwd | grep -v root:x: | awk -F : '{ print $1 }' | xargs userdel
Run Code Online (Sandbox Code Playgroud)
但我收到错误userdel:用户本垒打当前登录,即使我以root身份登录,而不是本垒打.我认为,这个错误来自他们的共享和ID.
有没有办法解决?我应该只编辑passwd和shadow文件吗?否则,有没有办法强制id 0是唯一的,这样我们就可以保证不会创建id为0的其他用户?谢谢.
我在遗留代码中有一些菜单结构如下:
<div id="show-hide-facets-button">iOS/Touch Browser Popdown Test
<div id="show-hide-facets-dropdown">
<ul>
<li class="show-hide-facets-row" id="item1">Item One</li>
<li class="show-hide-facets-row" id="item2">Item Two</li>
</ul>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
弹出窗口隐藏,直到悬停:
#show-hide-facets-button {
}
#show-hide-facets-dropdown {
display: none;
}
#show-hide-facets-button:hover #show-hide-facets-dropdown {
display: block;
}
Run Code Online (Sandbox Code Playgroud)
一个jsfiddle在http://jsfiddle.net/brycenesbitt/y3kb7/
请注意,没有锚点或其他可点击元素.在这种情况下,在顶层引入可点击元素的简洁方法是什么,因此鼠标浏览器用户可以继续悬停,但触摸浏览器用户可以通过点击访问菜单项?菜单项全部用jquery激活,触摸浏览器在那里工作正常.
django ×5
django-forms ×2
jquery ×2
python ×2
ajax ×1
amazon-silk ×1
bash ×1
django-1.5 ×1
django-admin ×1
django-shell ×1
etcpasswd ×1
gnu-make ×1
linux ×1
mime-types ×1
pdb ×1
postgresql ×1
psql ×1
pycharm ×1
selenium-ide ×1
svn ×1
sysadmin ×1
touch ×1
unix ×1