小编laj*_*rre的帖子

django - 使用FormView和ModelForm更新模型

我无法弄清楚如何使用ModelFormFormView,这样它更新一个已经存在的实例?

此URL上的表单POST: r'/object/(?P<pk>)/'

我使用a ModelForm(而不是直接使用UpdateView),因为其中一个字段是必需的,我对它执行清理.

我基本上喜欢instance=...FormView(在POST时)初始化表单时提供kwarg ,以便它绑定到在url中给出pk的对象.但我无法弄清楚在哪里做...

class SaveForm(ModelForm):
    somedata = forms.CharField(required=False)
    class Meta:
        model = SomeModel  # with attr somedata
        fields = ('somedata', 'someotherdata')
    def clean_somedata(self):
        return sometransformation(self.cleaned_data['somedata'])

class SaveView(FormView):
    form_class = SaveForm
    def form_valid(self, form):
        # form.instance here would be == SomeModel.objects.get(pk=pk_from_kwargs)
        form.instance.save()
        return ...
Run Code Online (Sandbox Code Playgroud)

django django-forms django-views

26
推荐指数
2
解决办法
3万
查看次数

git在pre-push hook中提交

我在pre-push钩子中添加了类似的东西:

gs0=$(git status)
pip-dump
gs1=$(git status)
if [ "gs0" != "gs1" ]
then
    git commit -m "pip-dump"
fi
Run Code Online (Sandbox Code Playgroud)

(这是更新我的点数要求文件)

看起来推送不是推动新提交,而是HEAD在脚本开头的时候.

如何解决?

git githooks

17
推荐指数
1
解决办法
2804
查看次数

git log --follow,显示所有提交,包括合并

我想git log --follow file.ext但是显示所有提交,包括合并.

试过no-max-parents,但没有帮助.

git git-log

17
推荐指数
1
解决办法
7875
查看次数

lxml(或lxml.html):打印树结构

我想以可区分的方式打印出etree的树结构(由html文档构成)(意味着两个etree应该以不同的方式打印出来).

结构的意思是树的"形状",它基本上意味着所有标签,但没有属性,也没有文本内容.

任何的想法?在lxml中有什么东西可以做到这一点吗?

如果没有,我想我必须遍历整个树并从中构造一个字符串.知道如何以紧凑的方式表示树吗?("紧凑"功能不太相关)

仅供参考,不打算查看,而是存储和散列,以便能够在几个html模板之间产生差异.

谢谢

html python xml lxml

14
推荐指数
1
解决办法
8382
查看次数

运行特定的Django测试(用django-nose?)

我有一个非常复杂的tests.py文件.

实际上,测试类和方法是在运行时生成的type(用于考虑辅助文件中列出的数据).我正在以下列方式做事(请参阅下面的更多代码):

klass = type(name, (TestCase,), attrs)
setattr(current_module, name, klass)
Run Code Online (Sandbox Code Playgroud)

仅供参考,通常的django测试运行器,所有这些测试都会在运行时运行./manage.py test myapp(感谢setattr上面所示).

我想要做的只是运行部分测试,而不是手动列出他们的名字.

例如,我可以在类名或方法名中给每个测试"标签",以便我可以对它们进行过滤.例如,我将执行:运行所有测试哪个方法名称包含字符串"test_postgres_backend_"

我尝试使用django-nose,因为nose-m选择,这应该能够基于正则表达式,我的问题的理想解决方案选择的测试.

不幸的是,这里是使用django-nose作为django测试运行器时发生的事情:

  • ./manage.py test myapp没有自动找到type生成的测试类(与django测试运行器相反)
  • 即使文件中存在普通,也./manage.py test -m ".*" myapp不会./manage.py test myapp -m ".*"发现任何测试TestCase

所以:

  • 你对我的一般问题有另一种解决方案,而不是尝试使用django-nose -m吗?
  • django-nose,你知道怎么做-m吗?

MCVE

将以下内容添加到空myapp/tests.py文件中:

from django.test import TestCase
from sys import modules


current_module = …
Run Code Online (Sandbox Code Playgroud)

python django unit-testing nose

13
推荐指数
1
解决办法
1230
查看次数

Django dev服务器请求.META拥有我所有的env变种

使用dev服务器时,为什么在request.META中看到所有环境变量?

python django

11
推荐指数
1
解决办法
429
查看次数

经常使用的查询的psql快捷方式?(比如Unix"别名")

是否有可能以某种方式alias在psql中创建别名(如Unix 命令)?

我的意思是,不是SQL FUNCTION,而是本地别名来简化手动查询?

sql postgresql psql

9
推荐指数
3
解决办法
1943
查看次数

jinja2 变量命名 - 变量命名限制与 Python 变量相同吗?

我没有发现文档中明确写了它。

命名规则与 Python 变量相同吗?

(例如:{{ a_variable'like_that' }}不起作用)

python jinja2

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

角度ng-模型从嵌套的ng-repeat结合

这肯定已经完成,我错过了Angular在这一点上的工作方式.

简而言之,我已经<select ng-model><option ng-repeat/></select>和我不知道如何在页面加载时给它一个默认值.

视图:

<div ng-ctrl="MyCtrl">
  <form ng-submit="submitChoice()">
    <select ng-model='choice'>
      <option ng-repeat='choice in choices' value='{{choice.id}}'>{{choice.id}}</option>
    </select>
  </form>
</div>
Run Code Online (Sandbox Code Playgroud)

方式1:当用户更新视图(选择他想要的"选择")时,$scopeMyCtrl中使用的获取它,我可以用它执行任何我想要的操作:

方式2:但是,如果反过来,我想以编程方式为控制器中的选项设置默认值(在开始时),它不能更改显示的值:

function MyCtrl ($scope) {
  $scope.submitChoice = function() {return;}; // Way1: OK!
  $scope.choice = choice4;                    // Way2: Doesn't change the view!!
}
Run Code Online (Sandbox Code Playgroud)

我想这是因为ng-repeat中的每个元素都有自己的范围(如果我在视图中硬编码选项而不是ng-repeat,则效果很好).

在方式1中choice,如果我理解的话,使用选择的内部范围会发出到上限范围.但我不知道怎么办2.

它是否可以通过简单的方式实现?指令是否必要?

javascript angularjs

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

Python PIL/Pillow - 将图像填充到所需大小(例如A4)

我有一个JPG/PNG/PDF图像,我想把它放在一个A4页面上,以PDF为中心(FYI:这样我的最终用户很容易显示/打印它).

无论是哪种顺序:

  • 填充图像填充A4(白色)
  • 转换为PDF

我可以im.save('filename.pdf', 'PDF', resolution=100.0)Image对象保存为PDF,但我不知道如何执行其他任务.

我真的更喜欢使用Pillow,但欢迎其他答案.

python image python-imaging-library pillow

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