我有一个或多或少看起来像这样的模型:
class Starship(models.Model):
id = models.UUIDField(default=uuid4, editable=False, primary_key=True)
name = models.CharField(max_length=128)
hull_no = models.CharField(max_length=12, unique=True)
Run Code Online (Sandbox Code Playgroud)
我有一个不起眼的StarshipDetailSerialiser和StarshipListSerialiser(我想最终呈现出不同的领域,但现在他们是相同的),这两个子类serializers.ModelSerializer.它有一个HyperlinkedIdentityField引用回(UU)ID,使用与原始类似的home-brew类,HyperlinkedIdentityField但具有规范化和处理UUID的能力:
class StarshipListSerializer(HyperlinkedModelSerializer):
uri = UUIDHyperlinkedIdentityField(view_name='starships:starship-detail', format='html')
class Meta:
model = Starship
fields = ('uri', 'name', 'hull_no')
Run Code Online (Sandbox Code Playgroud)
最后,有一个列表视图(a ListAPIView)和一个如下所示的详细视图:
class StarshipDetail(APIView):
"""
Retrieves a single starship by UUID primary key.
"""
def get_object(self, pk):
try:
return Starship.objects.get(pk=pk)
except Starship.DoesNotExist:
raise Http404
def get(self, request, pk, format=None):
vessel = self.get_object(pk)
serializer = StarshipDetailSerialiser(vessel, context={'request': request}) …Run Code Online (Sandbox Code Playgroud) 所以,我在开发服务器上安装了Laravel(php5.5.3,标准安装,安装了mcrypt),我收到以下错误信息:
Fatal error: Class 'Illuminate\Foundation\Application' not found in /[path_to_laravel_app]/bootstrap/start.php on line 14
Run Code Online (Sandbox Code Playgroud)
很奇怪,我还没有看到这个文件的解决方案,虽然我已经看到了很多类似的错误.欢迎任何建议.谢谢!
我有一个涉及到具有五个字段的模型的Django应用程序。对于这些字段之一,我希望用户输入一堆文本,然后我想将其提交给服务(通过函数调用)并保存结果。提供视觉表示:
最好怎么玩呢?我的一个选择是重写save()函数,但是类型不同-我希望表单显示一个models.TextField字段,但将其保存为URLField的结果将被保存。同样,在显示时,我希望用户不编辑URL,而是编辑从该URL检索的文本。
我如何在Python类型注释中引用“任何将父类子类化的对象”?
例如:FooBase是一个抽象基类,从中Foo1,Foo2等被子类。我希望函数接受的任何后代FooBase。请问这样做:
def do_something(self, bar:FooBase):
pass
Run Code Online (Sandbox Code Playgroud)
还是只接受类的对象,FooBase鉴于FooBase抽象是不可能的?在那种情况下,我是否需要构建Union所有情况的一个(请上帝保佑我不希望!),或者我可以通过其他方式抽象地表达这种关系吗?
cookiecutter是模板生成器,在生成多种语言的项目时非常有用。但是,我想知道是否有办法持续测试它们?我不仅要生成最终产品(在给定一组输入的情况下,对目标文件的存在、名称和内容做出断言),而且还要生成在某些输入下运行时不会出错,但会拒绝其他输入。最好的方法是什么?我知道我可以编写一个简单的测试用例,但它无法访问命令行输入,是吗?有什么方法可以访问该函数并将命令行选项作为参数提供给它吗?
我有以下几点:
def crawl(rootdir):
for dir, subdir, files in os.walk(rootdir):
for file in files:
print "file found: %s" % file`
Run Code Online (Sandbox Code Playgroud)
根据我的理解,如果我在一个不存在的 rootdir 上调用它,我应该得到一个错误。相反,它似乎悄悄地失败了。我不太关心如何解决这个问题(尽管对 Pythonic 方法的任何评论都会有所帮助),而更多地了解它为什么会发生。
我正在构建与此类似的东西.我想要的是使每个节点的大小与json文件中定义的大小相同,或者,如果它没有大小属性,而json中的子属性,它是所有子节点大小的总和.怎么会这样做呢?我已经尝试了各种方法,但没有添加东西并用JSON硬编码,这有点蹩脚,我还没有发现任何真正有用的东西;(任何建议,蜂巢头脑?
我有一个有几个状态变量的Python类-让我们称他们self.state和self.process:
class MyClass(object):
def __init__(state=None, process=None):
self.state = state
self.process = process
Run Code Online (Sandbox Code Playgroud)
现在,我的应该产生一个错误,如果方法有很多self.state,并self.process没有.我不想为每个人手动编码测试,所以我在想,我会做一个装饰器 - 像这样:
class MyClass(object):
...
@needs_state
def some_function():
# do something
Run Code Online (Sandbox Code Playgroud)
现在,如果some_function()被调用,但self.state是None,错误将得到提升.我可以用装饰器完成这个 - 最好只用一个吗?(我已经看到使用类装饰器的解决方案,我不确定它做了我希望它做了什么!).奖金积分可以很好地解释为什么我不能;)
python ×6
python-2.7 ×3
django ×2
python-3.x ×2
cookiecutter ×1
d3.js ×1
javascript ×1
json ×1
laravel ×1
php ×1
rest ×1
types ×1