是否有任何简单的机制来覆盖单元测试的Django设置?我在我的一个模型上有一个管理器,它返回特定数量的最新对象.它返回的对象数由NUM_LATEST设置定义.
如果有人要更改设置,这有可能使我的测试失败.如何覆盖设置setUp()并随后将其恢复tearDown()?如果那是不可能的,有什么方法可以修补方法或模拟设置?
编辑:这是我的经理代码:
class LatestManager(models.Manager):
"""
Returns a specific number of the most recent public Articles as defined by
the NEWS_LATEST_MAX setting.
"""
def get_query_set(self):
num_latest = getattr(settings, 'NEWS_NUM_LATEST', 10)
return super(LatestManager, self).get_query_set().filter(is_public=True)[:num_latest]
Run Code Online (Sandbox Code Playgroud)
管理器用于settings.NEWS_LATEST_MAX切片查询集.如果getattr()设置不存在,则仅用于提供默认值.
我开始用Java编程.
public static void main(String[]args)
Run Code Online (Sandbox Code Playgroud)
一本书说我应该在这种情况下使用静态,但没有明确说明为什么我应该或它意味着什么.
你能澄清一下吗?
以前使用Prototype我可以序列化输入类型文件,它给了我正在上传的文件的文件名但是当我在jquery中序列化表单时,我只得到了输入类型的文本,而其他的不是文件,我该怎么办呢?
"假设您想要用4×1和6×1乐高积木的行来构建实体面板.对于结构强度,块之间的空间必须永远不会排列在相邻的行中.例如,显示的是18×3面板下面是不可接受的,因为前两行中的块之间的空格对齐.
有2种方法可以构建10×1面板,2种方法可以构建10×2面板,8种方法可以构建18×3面板,7958种方法可以构建36×5面板.
有多少种方法可以构建64×10面板?答案将适合64位有符号整数.编写程序来计算答案.你的程序应该运行得非常快 - 当然,它不应该超过一分钟,即使在较旧的机器上也是如此.让我们知道您的程序计算的价值,程序计算该值的时间,以及您运行它的机器类型.将程序的源代码作为附件包含在内."
我最近得到了一个编程难题,并且一直绞尽脑汁试图解决它.我用c ++编写了一些代码,我知道这个数字是巨大的...我的程序运行了几个小时才决定停止它,因为即使在慢速计算机上也需要1分钟的运行时间.有没有人看过类似的拼图?已经有几个星期了,我再也不能把它拿出去了,但这真的让我感到烦恼,我无法正确解决它.有关使用算法的任何建议吗?或者也许可以通过"开箱即用"来解决它的方法.我使用的是制作一个程序,构建4x1和6x1块的每个可能的"层",以形成64x1层.结果是大约3300个不同的层.然后我让我的程序运行并将它们堆叠到所有可能的10层高墙中,没有裂缝排列......正如你可以看到这个解决方案需要很长很长时间.因此,在时间限制内,蛮力似乎无法有效地解决这个问题.任何建议/见解将不胜感激.
我正在尝试学习c ++而且我真的想要做很多编码但是我不确定我能编码什么... Tbh,书本练习对我来说不是很有趣(通常因为它们太短了).我喜欢编写OS相关的东西,如I/O的东西..
我正在考虑看linux并尝试模仿那里的一些工具..这是个好主意吗?
我已经搜遍了这个,但我似乎无法找到最好的方法.我有大约22000纬度/经度点,我想找到最接近iPhone当前位置的点.我见过有人问过Quad Trees,Dijkstra算法和空间数据库.哪种iPhone最好?空间数据库似乎最简单,但我不确定.
编辑:实际上有超过20,000点.您认为迭代所有这些是实现它的方法吗?但感谢您的投入.
谢谢.
我是Git的新手,似乎在通过网络推送到存储库时遇到问题.
以下是我重新创建问题的方法:
在计算机上创建一个新的Git存储库以进行推送
mkdir ~/git/test.git
cd !$
git --bare init
Run Code Online (Sandbox Code Playgroud)在我的本地计算机上,然后我创建一个新的Git存储库并向其添加一个随机文件:
mkdir test
git init
touch TEST
git add .
git commit -m "initial commit"
Run Code Online (Sandbox Code Playgroud)然后通过以下方式添加远程计 git remote add origin ssh://user@site.com/~/git/test.git
git push origin master这就是我这样做时得到的:
fatal: protocol error: bad line length character <- sometimes not there
Access denied
Access denied
Access denied
Access denied
FATAL ERROR: Server sent disconnect message
type 2 (protocol error):
"Too many authentication failures for user"
Run Code Online (Sandbox Code Playgroud)
我在XP机器上使用cygwin并试图推送到unix服务器.
我也在我家里的两台电脑之间尝试过,我遇到了同样的问题,顺便说两下都是windows机器.
我已通过SSH设置无密码登录,我可以ssh通过以下方式解决:ssh user@site.com
我一直试图解决这两天,任何帮助将不胜感激
我在我的网站上使用Django表单,并希望控制字段的顺序.
这是我定义表单的方式:
class edit_form(forms.Form):
summary = forms.CharField()
description = forms.CharField(widget=forms.TextArea)
class create_form(edit_form):
name = forms.CharField()
Run Code Online (Sandbox Code Playgroud)
该名称是不可变的,只应在创建实体时列出.我使用继承来增加一致性和DRY原则.事实上完全预料到的不是错误的是名称字段在视图/ html的最后列出,但我希望名称字段位于摘要和描述之上.我确实意识到我可以通过将摘要和描述复制到create_form并松散继承来轻松修复它,但我想知道这是否可行.
为什么?想象一下,你在edit_form中有100个字段,并且必须在create_form的顶部添加10个字段 - 复制和维护这两个表单看起来不那么性感.(这不是我的情况,我只是编写一个例子)
那么,我该如何覆盖这种行为呢?
编辑:
显然没有正确的方法来做到这一点,而不经历讨厌的黑客(摆弄.field属性)..field属性是SortedDict(Django的内部数据结构之一),它不提供任何重新排序键:值对的方法.它确实提供了一种在给定索引处插入项目的方法,但这会将项目从类成员移动到构造函数中.这种方法可行,但使代码可读性降低.我认为唯一合适的另一种方法是修改框架本身,这在大多数情况下都不是最优的.
简而言之,代码将变成这样的:
class edit_form(forms.Form):
summary = forms.CharField()
description = forms.CharField(widget=forms.TextArea)
class create_form(edit_form):
def __init__(self,*args,**kwargs):
forms.Form.__init__(self,*args,**kwargs)
self.fields.insert(0,'name',forms.CharField())
Run Code Online (Sandbox Code Playgroud)
这让我闭嘴:)
我正在通过构建一个简单的食谱应用程序来学习Django.我有一个1表模型,使用配方类别的'choices'字段选项,而不是使用第二'类别'表和外键关系.所以我通过syncdb创建了db表,然后用测试数据加载了表.当我去管理员并点击"食谱"链接以尝试查看食谱时,我收到以下错误:
Template error
In template /var/lib/python-support/python2.6/django/contrib/admin/templates/admin/change_list.html, error at line 34
Caught an exception while rendering: too many values to unpack
Run Code Online (Sandbox Code Playgroud)
如果有人能够阐明这个神秘的错误,那就太棒了.Db是Sqlite.Django版本是1.0.该模型如下:
from django.db import models
class Recipe(models.Model):
CATEGORY_CHOICES = (
(1, u'Appetizer'),
(2, u'Bread'),
(3, u'Dessert'),
(4, u'Drinks'),
(5, u'Main Course'),
(6, u'Salad'),
(7, u'Side Dish'),
(8, u'Soup'),
(9, u'Sauce/Marinade'),
(10, u'Other'),
)
name = models.CharField(max_length=255)
submitter = models.CharField(max_length=40)
date = models.DateTimeField()
category = models.SmallIntegerField(choices=CATEGORY_CHOICES)
ingredients = models.TextField()
directions = models.TextField()
comments = models.TextField(null=True, blank=True)
Run Code Online (Sandbox Code Playgroud) 在JavaScript中,有一个truthy和falsy值的想法.
例如
.NET框架上的C#语言中是否存在等效的值和错误值列表?
我想知道这个的原因是我发现自己做了以下事情
if(obj != null)
{
// Do something with the object
}
Run Code Online (Sandbox Code Playgroud)
当我可以写下面的内容
if(obj)
{
// Do something with the object
}
Run Code Online (Sandbox Code Playgroud)