请注意:这是一个古老的问题,有古老的答案.大多数链接的应用程序现在都没有维护.这些天,大多数人似乎都使用django-allauth或python-social-auth.为了后人的缘故,我将保留原始问题.
至少有六个Django应用程序为Django提供OpenID身份验证:
我玩了几个.Simon Willison的django-openid给人留下了良好的印象,但由于他处于Djangoland引领潮流的最前沿,我有时难以绕过他的趋势(例如django-openid中的整个动态urlpatterns系统).更重要的是,我无法登录与Google合作.
django-authopenid给人留下了良好的印象,似乎与django-registration有很好的整合.django-socialauth和django-socialregistration支持Twitter和Facebook,这绝对是一个优势.谁知道Facebook何时以及何时开始成为OpenID提供商......?但是,socialauth似乎有一些问题.
那么,那里最好的OpenID应用程序是什么?请分享任何积极(和消极)的经验.谢谢!
在Like-Button 的设置对话框中,布局只有两个选项:
不幸的是,我的雇主网站的数字远不及22'000,所以权力决定我们不应该显示"喜欢"的数量,直到这个数字对我们有利.据我所知,我无法通过Javascript或CSS访问按钮的布局(它位于facebook提供的iframe中).有没有其他方法可以隐藏计数?
我正在尝试整合第三方Django应用程序,该应用程序做出了不幸的继承决定django.contrib.auth.models.User,这对于可插拔应用程序来说是一个很大的禁忌.引用Malcolm Tredinnick:
更重要的是,就像在Python中一样,你不能使用Django的模型继承来"低估".也就是说,如果您已经创建了User实例,那么您不能在没有深思熟虑的情况下,使该实例对应于您尚未创建的子类实例.
好吧,我正处于需要将此第三方应用程序与现有用户实例集成的情况.所以,如果假设我确实愿意在封面下捅,我有什么选择?我知道这不起作用:
extended_user = ExtendedUser(user_ptr_id=auth_user.pk)
extended_user.save()
Run Code Online (Sandbox Code Playgroud)
也没有例外,但是它打破了各种各样的东西,首先django.contrib.auth.models.User用空字符串覆盖所有列...
我想将一个repoze Zope2安装的所有要求放在一个pip 需求文件中.大多数repoze包似乎并没有被PyPI上,但有一个替代的PyPI指数为他们这里.但我无法弄清楚如何告诉pip将该索引与需求文件一起使用.对于单个包装,这很容易
pip install zopelib -i http://dist.repoze.org/zope2/2.10/simple/
Run Code Online (Sandbox Code Playgroud)
我尝试了以下内容
pip install -r requirements.txt -i http://dist.repoze.org/zope2/2.10/simple/
Run Code Online (Sandbox Code Playgroud)
或者在我的requirements.txt中所有类型或排列:
zopelib -i http://dist.repoze.org/zope2/2.10/simple/
zopelib --index http://dist.repoze.org/zope2/2.10/simple/
-i http://dist.repoze.org/zope2/2.10/simple/ zopelib
Run Code Online (Sandbox Code Playgroud)
或者(因为文档说"请注意,所有这些选项必须在他们自己的行上.")
--index http://dist.repoze.org/zope2/2.10/simple/
zopelib
Run Code Online (Sandbox Code Playgroud)
那么,告诉pip使用http://dist.repoze.org/zope2/2.10/simple/作为索引的正确方法是什么?
我有这个HTML代码与多个inputs同名:
<input type="hidden" value="42" name="authors" />
<input type="hidden" value="13" name="authors" />
<input type="hidden" value="33" name="authors" />
Run Code Online (Sandbox Code Playgroud)
值的顺序很重要.HTML规范是否定义用户代理必须保留此顺序,如果是,那么常见(市场份额> 1%)浏览器是否遵循此定义?
如果有人知道WSGI,特别是Django是否保留了服务器端的订单,那么奖励积分:-)
谢谢!
是否有基于云的Django开发,例如基于云的开发和Ruby/heroku的托管环境
我正在寻找一种理智的方式来获取一个非翻译内容的ugettext_lazy字符串.我找到了两种方法,但我对其中任何一种都不满意:
the_string = ugettext_lazy('the content')
the_content = the_string._proxy____args[0] # ewww!
Run Code Online (Sandbox Code Playgroud)
要么
from django.utils.translation import activate, get_language
from django.utils.encoding import force_unicode
the_string = ugettext_lazy('the content')
current_lang = get_language()
activate('en')
the_content = force_unicode(the_string)
activate(current_lang)
Run Code Online (Sandbox Code Playgroud)
第一段代码访问一个已明确标记为私有的属性,因此无法确定此代码的工作时间.第二种解决方案过于冗长和缓慢.
当然,在实际代码中,ugettext_lazyied字符串的定义和访问它的代码是appart.
我有一点布局问题:在客户网站上,我们在一个小盒子里显示人们的联系信息.该框的宽度受到限制.事实上,有些人名字很长(毕竟这是在德国......),电子邮件地址是给定姓名和姓氏的串联.结果:对于某些名称,电子邮件地址会溢出about框所给出的约束.
­在@结果之前插入正确的换行符,但看起来像这样:
john.doe-
@example.com
Run Code Online (Sandbox Code Playgroud)
是否有可能抑制破折号?我不想使用<br />,因为对于90%的名称,可用宽度绰绰有余.
我有一个名单,例如['Agrajag', 'Colin', 'Deep Thought', ... , 'Zaphod Beeblebrox', 'Zarquon'].现在我想将此列表划分为大致相同大小的子列表,以便子组的边界位于名称的第一个字母,例如AF,GL,MP,QZ,而不是A-Fe,Fi-Mo,Mu-Pra ,Pre-Z.
我只能想出一个不考虑子组大小的静态大小的分区:
import string, itertools
def _group_by_alphabet_key(elem):
char = elem[0].upper()
i = string.ascii_uppercase.index(char)
if i > 19:
to_c = string.ascii_uppercase[-1];
from_c = string.ascii_uppercase[20]
else:
from_c = string.ascii_uppercase[i/5*5]
to_c = string.ascii_uppercase[i/5*5 + 4]
return "%s - %s" % (from_c, to_c)
subgroups = itertools.groupby(name_list, _group_by_alphabet_key)
Run Code Online (Sandbox Code Playgroud)
有更好的想法吗?
PS:这可能听起来有点像家庭作业,但它实际上是一个网页,其中成员应该显示在5-10个同等大小的组中.
我使用a dict作为短期缓存.我想从字典中获取一个值,如果字典中没有该键,则设置它,例如:
val = cache.get('the-key', calculate_value('the-key'))
cache['the-key'] = val
Run Code Online (Sandbox Code Playgroud)
在'the-key'已经存在的情况下cache,第二行不是必需的.对此有更好,更短,更具表现力的习语吗?
python ×7
django ×4
html ×2
facebook ×1
group-by ×1
heroku ×1
hyphenation ×1
inheritance ×1
openid ×1
pip ×1
pypi ×1
soft-hyphen ×1
wsgi ×1