小编Emi*_*nte的帖子

测试帖子请求时Django消息中间件问题

我正在尝试测试将消息添加到重定向成功页面的UpdateView。看来我的问题来自messagespytest返回:

django.contrib.messages.api.MessageFailure:您必须先安装django.contrib.messages.middleware.MessageMiddleware才能添加消息

我的测试代码是:

def test_authenticated_staff(self, rf):
    langues = LanguageCatalog.objects.create(
        lang_src='wz',
        lang_dest='en',
        percent='4'
    )
    req = rf.get(reverse("dashboard.staff:lang-update", kwargs={'pk': langues.pk}))
    data = {'lang_src': 'it',
            'lang_dest': 'en',
            'percent': '34'}
    req = rf.post(reverse(
        "dashboard.staff:lang-update", kwargs={'pk': langues.pk}), data=data)
    req.user = UserFactory()
    resp = views.LangUpdateView.as_view()(req, pk=langues.pk)

Run Code Online (Sandbox Code Playgroud)

我精确MessageMiddlewareMIDDLEWARE设置中存在。我用Django==2.0.13

python testing django pytest

4
推荐指数
2
解决办法
215
查看次数

使用正则表达式替换类名

我正在尝试与正则表达式一起使用classList.replace()我的目标是用像badge -success这样的其他值替换像badge-something这样的表达式。

我试过这个:

element.classList.replace(/badge-*/i, 'badge-success')
Run Code Online (Sandbox Code Playgroud)

但它返回false并且不会改变任何内容。我缺少什么?

javascript

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

upload_to 动态生成的 url 到 callable

我看过很多关于这个问题的帖子,但没有真正理解如何解决它。

我有这个模型:

class Project(TimeStampedModel):
    name = models.TextField(max_length=100, default='no name')
    logo = models.ImageField()
Run Code Online (Sandbox Code Playgroud)

我想按照此模板将我的图像保存到媒体根目录:

<name>/logo/<filename>
Run Code Online (Sandbox Code Playgroud)

乍一看,我想做:

logo = models.ImageField(upload_to="{}/logo/".format(name))

但它引发了这个错误: AttributeError: 'TextField' object has no attribute 'model'

使用 callable 会很好,但部分是:

def upload_to_project(self, filename):
    url = ("%s/%s") % (self.name, filename)
    return url
Run Code Online (Sandbox Code Playgroud)

并使用:

logo = models.ImageField(upload_to=upload_to_project)
Run Code Online (Sandbox Code Playgroud)

至少我有: <name>/<filename>

但是在这种情况下如何传递参数呢?我想重用我的功能在其他子文件夹中上传,不仅logo是:

<name>/logo/<filename>
<name>/history/<filename>
<name>/whatever/<filename>
Run Code Online (Sandbox Code Playgroud)

知道我能做什么吗?

python django models

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

默认情况下或以编程方式对树视图中的列进行排序

我知道我的问题已在这里提出:

如何以编程方式排序TreeView

但是给出的链接没有任何关联,当我的窗口显示时,我仍然无法对我的树视图进行排序.

这是我的代码:

    treeview = Gtk.TreeView(model=liststore)
    col = renderer_text('Nom', 1, store=liststore, sortable=True)
    col.set_sort_order(Gtk.SortType.ASCENDING) #??????????????????????????
    treeview.append_column(col)

def renderer_text(title, col, editable=False, store=None, sortable=None):
    render = Gtk.CellRendererText()
    if editable:
        render.set_property('editable', True)
        render.connect('edited', text_edited, store, col)
    column = Gtk.TreeViewColumn(title, render, text=col)
    if sortable:
        column.set_sort_column_id(col)
    return column
Run Code Online (Sandbox Code Playgroud)

set_sort_order(Gtk.SortType.ASCENDING)本来就很棒,但在我的情况下它并没有排序!

python treeview gtk3

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

标签 统计

python ×3

django ×2

gtk3 ×1

javascript ×1

models ×1

pytest ×1

testing ×1

treeview ×1