小编Pur*_*ell的帖子


如何在django中模拟用户和请求

我有与请求对象或用户对象交互的django代码.例如:

foo_model_instance = models.get_or_create_foo_from_user(request.user)
Run Code Online (Sandbox Code Playgroud)

如果您要使用django python shell或单元测试进行测试,那么您会在那里传递什么?这里只是一个User对象,但是对模拟请求对象的需求也经常出现.

对于shell或单元测试:

  • 你如何模仿用户?
  • 你如何模拟请求?

python django unit-testing mocking

69
推荐指数
5
解决办法
4万
查看次数

django的auth_user.username可以是varchar(75)吗?怎么可能这样呢?

这有什么错上运行ALTER TABLE auth_userusernamevarchar(75)因此它可以适应的电子邮件?如果有什么事情会破坏什么?

如果您要更改auth_user.usernamevarchar(75)您需要修改django的位置?这只是在源代码中改变30到75的问题吗?

username = models.CharField(_('username'), max_length=30, unique=True, help_text=_("Required. 30 characters or fewer. Letters, numbers and @/./+/-/_ characters"))
Run Code Online (Sandbox Code Playgroud)

或者这个领域是否还有其他验证需要更改或其他任何后果?

请参阅下面与bartek的评论讨论,了解这样做的原因.

编辑:经过几个月的回顾.对于不了解前提的人:某些应用程序没有要求或希望使用用户名,他们只使用电子邮件进行注册和验证.不幸的是,在django auth.contrib中,用户名是必需的.您可以开始在用户名字段中添加电子邮件,但该字段只有30个字符,而现实世界中的电子邮件可能很长.可能比这里建议的75个字符更长,但75个字符可以容纳最理智的电子邮件地址.问题针对的是这种情况,正如基于电子邮件授权的应用程序所遇到的那样.

django django-models django-authentication

65
推荐指数
4
解决办法
2万
查看次数

如何更新django模型实例的多个字段?

我想知道,在django中更新模型实例的多个字段的标准方法是什么?......如果我有一些带有某些领域的模型,

Class foomodel(models.Model):
    field1 = models.CharField(max_length=10)
    field2 = models.CharField(max_length=10)
    field3 = models.CharField(max_length=10)
    ...
Run Code Online (Sandbox Code Playgroud)

...我用一个字段给出实例化,然后在一个单独的步骤中我想提供其余的字段,我如何通过传递字典或键值参数来做到这一点?可能?

换句话说,假设我有一个包含一些数据的字典,其中包含我要写入该模型实例的所有内容.模型实例已经在一个单独的步骤中实例化,让我们说它还没有被持久化.我可以说foo_instance.field1 = my_data_dict['field1']每个字段,但有些东西告诉我应该有一种方法在模型实例上调用一个方法,我只是立即传递所有的字段值对并更新它们.有点像foo_instance.update(my_data_dict).我没有看到任何这样的内置方法,我是否错过了它或者这是如何有效地完成的?

我有一种感觉,这是一个明显的,RTM类型的问题,但我只是没有在文档中看到它.

django django-models

59
推荐指数
2
解决办法
4万
查看次数

安全证书损坏的示例站点

我想知道是否有人知道一个演示站点,它显示了HTTPS配置错误或损坏的不同情况.或者有没有人知道一个故意显示各种破坏/错误配置的HTTPS案例的网站?......如果没有,关于如何使用搜索引擎跟踪它们的想法怎么样?我正在寻找表现出破坏的https行为的网站,例如:

  • 自签名证书
  • Certificatewith无效的子域名
  • 过期的证书
  • 具有安全和不安全内容的页面
  • 等等...

我希望找到一个可以错误配置HTTPS的各种方法的完整列表,理想情况下,我可以使用实例来磨练工具来抓取页面并告诉您它是否会产生任何浏览器安全错误.(据我所知,没有这样的工具,没有人操作浏览器,任何人都知道一个?)

security ssl https

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

如何控制jQueryUI datepicker的定位

jQueryUI中的datepicker呈现动态位置.它根据它的css呈现是否有足够的空间,但如果没有足够的窗口空间,它会尝试在屏幕上呈现.我需要它每次都保持放置并在同一个地方渲染,与屏幕位置或其他情况无关.如何使用jQueryUI datepicker完成这项工作?jQuery datepicker的其他实现似乎有办法实现这一点,但我没有看到为UI版本执行此操作的方法.

答案似乎不仅仅是修改css:

.ui-datepicker { width: 17em; padding: .2em .2em 0; (trying top/margin-top/position:relative, etc. here...)}
Run Code Online (Sandbox Code Playgroud)

...因为在创建日期选择器时,它会以元素样式动态创建顶部和左侧.尚未找到解决方法.我看到的一种方法是在beforeShow选项中给出类似的东西:

beforeShow: function(input,inst){
                                inst.dpDiv.css({ 
                                   'top': input.offsetHeight+ 'px', 
                                   'left':(input.offsetWidth - input.width)+ 'px'
                                               });
                                }
Run Code Online (Sandbox Code Playgroud)

这有一些效果,但在datepicker呈现时运行此属性后仍然会动态设置top和left属性.它仍然试图在屏幕上呈现.如何让它始终在同一位置渲染?我的下一步可能是进入datepicker胆量并开始拉出来.有任何想法吗?

请注意,答案(对于UI版本)不在:

jquery jquery-ui datepicker uidatepicker

35
推荐指数
3
解决办法
6万
查看次数

adb devices列表空 - 雪豹

我遇到了android SDK的问题,它无法识别通过usb插入的设备:

$adb start-server                                 
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
$adb devices                                      
List of devices attached
Run Code Online (Sandbox Code Playgroud)

(列表为空,其他sdk工具也无法识别设备)

根据SDK文档,在Mac OS X上,这应该"正常工作".(设置开发设备)

它过去对我有用,但似乎刚刚停止了.是否有针对此问题的OS X解决方案?(在其他操作系统上,大概你必须摆弄USB驱动程序)

试过:

  • 动力循环机和装置
  • 切换USB端口拔掉所有插头
  • USB除了鞋底(非拆分)
  • 连接到设备的电缆多根电缆

android osx-snow-leopard

26
推荐指数
4
解决办法
2万
查看次数

如何在python Webdriver中鼠标悬停

看来这是在webdriver中进行悬停/鼠标悬停的方法,至少在java api中是这样的:

Actions action = new Actions(driver);
action.moveToElement(element).build().perform();
action.moveByOffset(1, 1).build().perform();
Run Code Online (Sandbox Code Playgroud)

这可能在Python api中吗?python的webdriver api文档似乎没有提到类似的东西. http://selenium.googlecode.com/svn/trunk/docs/api/py/index.html

如何在python webdriver中完成hover/mouseover?

python selenium webdriver selenium-webdriver

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

jqueryUI datepicker在传递日期之前触发输入的模糊,避免/解决方法?

我对绑定到其blur事件的文本输入进行了一些验证.我在这个字段上有一个datepicker(来自jqueryUI的版本),所以当你单击该字段时,datepicker会出现,然后你点击一个日期,它会像datepicker那样将日期填充到字段中.但是,在输入日期之前,输入字段似乎由于某种原因而被触发.在填充日期之前,焦点似乎远离输入.因此,当用户选择日期时,在日期实际进入字段之前,当它不应该时,我的验证就会被触发.它应该在日期投入后运行.有谁知道为什么模糊是在那时发生或如何解决它?

javascript jquery jquery-ui datepicker

22
推荐指数
4
解决办法
4万
查看次数

将新字段添加到具有现有字段值的集合中

我想在集合中添加一个新字段,新字段的值设置为现有字段的值.

具体来说,我想从这里开始:

# db.foo.findOne()
    {
        "_id"     : ObjectId("4f25c828eb60261eab000000"),
        "created" : ISODate("2012-01-29T16:28:56.232Z"),
        "..."     : ...
    }
Run Code Online (Sandbox Code Playgroud)

对此:

# db.foo.findOne()
    {
        "_id"      : ObjectId("4f25c828eb60261eab000000"),
        "created"  : ISODate("2012-01-29T16:28:56.232Z"),  
        "event_ts" : ISODate("2012-01-29T16:28:56.232Z"),  #same as created
        "..."      : ...
    }
Run Code Online (Sandbox Code Playgroud)

(此集合中的新文档不会都具有这种特殊的冗余,但我想为现有文档执行此操作)

mongodb

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