是否有任何简单的机制来覆盖单元测试的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()设置不存在,则仅用于提供默认值.
我有
class Cab(models.Model):
name = models.CharField( max_length=20 )
descr = models.CharField( max_length=2000 )
class Cab_Admin(admin.ModelAdmin):
ordering = ('name',)
list_display = ('name','descr', )
# what to write here to make descr using TextArea?
admin.site.register( Cab, Cab_Admin )
Run Code Online (Sandbox Code Playgroud)
如何在管理界面中将TextArea小部件分配给'descr'字段?
UPD:
在管理员唯一接口!
使用ModelForm的好主意.
在python单元测试中(实际上是Django),assert如果我的测试结果中包含我选择的字符串,那么正确的语句是什么?
即,像 result
我想确保我assert至少包含我指定为上面第二个参数的json对象(或字符串),即result
我有一个表示路径的字符串.由于此应用程序用于Windows,OSX和Linux,因此我们已定义环境变量以正确映射来自不同文件系统的卷.结果是:
"$C/test/testing"
Run Code Online (Sandbox Code Playgroud)
我想要做的是评估字符串中的环境变量,以便它们被各自的卷名替换.是否有我缺少的特定命令,或者我必须采取os.environ.keys()并手动替换字符串?
我有一个驻留在单个.py文件中的应用程序.我已经能够让pyInstaller成功地将它捆绑到一个EXE for Windows中.问题是,应用程序需要一个始终位于同一目录中的应用程序旁边的.cfg文件.
通常,我使用以下代码构建路径:
import os
config_name = 'myapp.cfg'
config_path = os.path.join(sys.path[0], config_name)
Run Code Online (Sandbox Code Playgroud)
但是,当从pyInstaller生成的EXE调用sys.path时,它似乎是空白的.当您运行python交互式命令行并尝试获取sys.path [0]时,会发生同样的行为.
有没有更具体的方法来获取当前运行的应用程序的路径,以便我可以找到相对于它的文件?
service service_name start
Run Code Online (Sandbox Code Playgroud)
当我尝试从cmd行运行它时,它的工作原理.但是当我尝试通过cron安排它时,我得到一个错误说
/ bin/sh:service:找不到命令
我正在使用烧瓶进行申请.我想将一个图像(由PIL动态生成)发送到客户端而不保存在磁盘上.
知道怎么做吗?
python streaming temporary-files python-imaging-library flask
我正在开发一个带有vuejs的网站,此时我遇到了麻烦,我需要从这个网站上获取网址查询(页面),例如这个网站webitename.com/user/?page=1但是this.$router.query.page得到了一个错误(未捕获的TypeError:无法读取undefined的属性"page"
有人知道这个问题,可以帮助我吗?
PS:我可以使用设置查询页面
this.$router.push({name: 'userIndex', query: { page: '123' } });
Run Code Online (Sandbox Code Playgroud)
我可以得到像这样的url normal params
userID -> (websitename.com/user/:userId | websitename.com/user/1)
Run Code Online (Sandbox Code Playgroud)
但我无法获得任何查询参数
我正在开发一个需要在Google Android手机操作系统上运行的JavaScript应用程序.有没有办法在Android模拟器或实际设备上启用Safari中的JavaScript错误/调试控制台?如果是这样,任何有关如何这样做的说明将不胜感激.
从下面的字符串中我想得到起始编号的索引.请告诉我如何在C#.net中完成.
例如
University of California, 1980-85.
University of Colorado, 1999-02
Run Code Online (Sandbox Code Playgroud) python ×4
django ×3
android ×1
assert ×1
c# ×1
cron ×1
django-admin ×1
executable ×1
filesystems ×1
flask ×1
javascript ×1
json ×1
pyinstaller ×1
safari ×1
service ×1
settings ×1
streaming ×1
testing ×1
unit-testing ×1
vue-router ×1
vue.js ×1
vuejs2 ×1