小编Gre*_*hon的帖子

在 Django 站点中嵌入视频文件

我有一个正在创建的 Django 站点,我希望其中一些页面嵌入视频。这些视频不是模型的一部分。我只是希望能够使用视图来确定要播放的视频文件,然后将文件路径传递到模板中。所有文件都在本地托管(至少目前是这样)。可以用 Django 做吗?如果是这样,我该怎么做?

django

5
推荐指数
1
解决办法
6308
查看次数

将一个 Yaml 文件包含在另一个文件中

我想要一个基本配置文件,其他配置文件使用它来共享通用配置。

例如,如果我有一个base.yml文件

foo: 1

bar:
  - 2
  - 3
Run Code Online (Sandbox Code Playgroud)

然后是第二个some_file.yml文件

foo: 2

baz: "baz"
Run Code Online (Sandbox Code Playgroud)

我希望最终得到一个合并的配置文件

foo: 2

bar:
  - 2
  - 3

baz: "baz"
Run Code Online (Sandbox Code Playgroud)

编写处理标签的自定义加载器很容易!include

class ConfigLoader(yaml.SafeLoader):

    def __init__(self, stream):
        super().__init__(stream)
        self._base = Path(stream.name).parent

    def include(self, node):
        file_name = self.construct_scalar(node)
        file_path = self._base.joinpath(file_name)

        with file_path.open("rt") as fh:
            return yaml.load(fh, IncludeLoader)
Run Code Online (Sandbox Code Playgroud)

然后我可以解析一个!include标签。所以如果我的文件是

inherit:
   !include base.yml

foo: 2

baz: "baz"
Run Code Online (Sandbox Code Playgroud)

但现在基本配置是一个映射。即如果我加载文件我最终会得到

foo: 1

bar:
  - 2
  - 3
Run Code Online (Sandbox Code Playgroud)

但是如果我不将标签作为映射的一部分,例如

!include base.yml

foo: 2

baz: …
Run Code Online (Sandbox Code Playgroud)

python yaml config pyyaml ruamel.yaml

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

在Postgresql中做什么$$和::

我正在查看一堆我继承的(Postgresql)SQL代码,有两个正在使用的表示法,我没有遵循。一种正在使用$$。例如Create function ... returns FOO as $$select NULL::int field_name from table

由于使用符号而在谷歌搜索时遇到了麻烦,而且我甚至不确定我应该搜索什么。

sql postgresql

4
推荐指数
1
解决办法
4456
查看次数

迭代器协议.这是黑魔法吗?

所以我一直在编写迭代器,我认为我理解它们.但是我今晚一直在努力解决一些问题,而且我玩的越多,我就越困惑.

我认为对于迭代器你必须实现__iter__next(或__next__).当你第一次尝试遍历迭代器时,__iter__将调用该方法,然后nextStopIteration被引发之前调用它.

当我运行此代码时

class Iter(object):

    def __iter__(self):
        return iter([2, 4, 6])

    def next(self):
        for y in [1, 2, 3]:
            return y

iterable = Iter()
for x in iterable:
    print(x)
Run Code Online (Sandbox Code Playgroud)

输出是2 4 6.所以__iter__被称呼,但不是next.这似乎与我在这里找到的文档相符.但那时我脑海里浮现出更多问题.

具体来说,如果不是实现的话,容器类型和迭代器之间有什么区别next?我如何知道我的课程将以哪种方式对待?最重要的是,如果我想编写一个next我使用时调用方法的类,我for x in Iter()该怎么做?

python iterator python-2.7

4
推荐指数
1
解决办法
217
查看次数

Vim 中替代和更改之间的区别

s在 Vim 中,和 之间有什么区别c?如果我替换n个字母或单词,改变它们有什么区别吗?替代和改变是否有不同的情况?

vi vim

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

标签 统计

python ×2

config ×1

django ×1

iterator ×1

postgresql ×1

python-2.7 ×1

pyyaml ×1

ruamel.yaml ×1

sql ×1

vi ×1

vim ×1

yaml ×1