小编Sem*_*mel的帖子

如何覆盖和扩展基本的Django管理模板?

如何覆盖管理模板(例如admin/index.html),同时扩展它(请参阅https://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-vs-replacing -an-admin-template)?

首先 - 我知道之前已经提出并回答了这个问题(参见Django:覆盖和扩展应用程序模板),但正如答案所说,如果您使用的是app_directories模板加载器(大部分是时间).

我目前的解决方法是从它们进行复制和扩展,而不是直接从管理模板扩展.这非常有效,但是当管理模板发生变化时,它会让人感到困惑并增加额外的工作量.

它可以考虑模板的一些自定义扩展标记,但如果已经存在解决方案,我不想重新发明轮子.

旁注:有人知道Django本身是否会解决这个问题?

python django django-admin

113
推荐指数
7
解决办法
14万
查看次数

如何在Django管理员中为模型字段使用自定义表单字段?

我希望让Django管理员使用自定义表单字段来输入某些字段.

到目前为止,我创建了一个自定义模型字段,其中包含绑定到它的表单字段,但它引入了一个不必要的模型字段,但不会增加任何好处.

我想可以使用自定义管理表单以某种方式完成(请参阅http://docs.djangoproject.com/en/dev/ref/contrib/admin/#adding-custom-validation-to-the-admin)但我不能弄清楚该怎么做.

django django-forms django-admin

10
推荐指数
1
解决办法
7746
查看次数

如何在Django管理员中翻译函数名称?

当使用http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display下所述的list_display时,您不仅可以显示字段,还可以显示自定义的callables:

def colored_name(self):
    return '<span style="color: #%s;">%s %s</span>' % (self.color_code, self.first_name, self.last_name)
colored_name.allow_tags = True
Run Code Online (Sandbox Code Playgroud)

然后像这样使用它:

list_display = ('first_name', 'last_name', 'colored_name')
Run Code Online (Sandbox Code Playgroud)

由于first_name和last_name是普通字段,我们可以像这样翻译它们:

first_name = models.CharField(_('first name'))
last_name = models.CharField(_('last name'))
Run Code Online (Sandbox Code Playgroud)

所以问题是:

如何翻译我的功能名称?我在哪里放_('彩色名字')?

django django-admin

7
推荐指数
1
解决办法
2198
查看次数

GitHub 拉取请求与 Git 命令行合并

在处理和关闭拉取请求时,您有三个合并选项 Create a merge commitSquash and mergeRebase and merge。我想知道这些选项如何转化为实际的 Git 命令——尤其是关于--no-ff.

合并对话框列出了这两个(步骤 1 和步骤 2)示例:

git fetch origin
git checkout -b develop origin/develop
git merge master
Run Code Online (Sandbox Code Playgroud)

和:

git checkout master
git merge --no-ff develop
git push origin master
Run Code Online (Sandbox Code Playgroud)

但我很困惑,因为这些是所有三个选项的相同示例。这不可能是对的。所以我想我只是误解了这里的用户界面。

Git 的命令是什么并且在--no-ff任何地方都可以使用?

git merge github pull-request

7
推荐指数
1
解决办法
3599
查看次数

有没有办法通过具有不同和强制合并策略的拉取请求来合并 GitHub 上的分支?

我有一个非常简单的设置。一个功能在功能分支中开发,然后被合并到develop并准备好足够的功能,我们想要进行合并提交master。所有这一切都应该通过拉取请求来发生。这背后的想法是隐藏最终出现在功能本身中develop/后面的各个提交的所有细节。master

目前,似乎不可能在不同的分支上实际强制执行不同的合并类型,如下所述:为每个分支设置拉取请求合并选项

更重要的是——这真的是一个好的策略吗?大多数从事此工作的人都是 Git 新手(包括我),因此我希望使其尽可能简单且安全。经过过去几个小时的谷歌搜索后,我找不到任何相关信息。

所以,我想我的问题是:设置此功能的简单方法或最佳方法是什么?其他人也有同样的问题吗?如果是这样 - 他们如何解决?或者这个问题仅仅是因为对 GitHub 不够了解而产生的?

您也可以向我指出任何建议、文档或最佳实践吗?

git merge github git-merge pull-request

6
推荐指数
1
解决办法
1178
查看次数

.gitattributes 中的“* text=auto eol=lf”和“* text eol=lf”有什么区别?

这与这个问题非常相似: What is the Difference between `* text=auto` and `* text eol=lf` in .gitattributes?

但我特别问为什么我应该使用* text=auto eol=lfover* text eol=lf或反之亦然?

根据我的理解,eol覆盖text设置,那么使用前者有什么意义呢?有区别吗?如果是这样 - 怎么办?

我现在正在阅读很多网站和 Stack Overflow 问题/答案 - 但我仍然完全困惑。特别是当我看到这个变化时:https://github.com/git/git/blob/master/Documentation/RelNotes/2.10.0.txt#L248

我发现更改的措辞很难读懂,以至于我现在仍然不明白。有人可以解释一下吗?

git gitattributes

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

在哪里放置应该直接在服务器根目录下提供的静态文件?

我刚刚迁移了一个旧的Django项目来使用staticfiles应用程序.在此之前,我将所有需要的文件放在名为static的目录中,该目录直接在服务器根目录下提供.此目录现在在STATIC_URL下提供,除了应直接在服务器根目录下提供的文件外,这个目录很好.

我知道如何直接从root提供文件(如/favicon.ico或/robots.txt),但我应该把它放在哪里?如果我把它们放在STATIC_ROOT下面的任何地方,它们将由两个URL(例如/file.txt和/static/foobar/file.txt)提供服务,这不是一个好习惯.

有任何想法吗?

django

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