小编Bry*_*ley的帖子

如何以编程方式创建django ViewFlow进程

概要

我正在开发一个学习Django的Web应用程序(python 3.4和Django 1.6.10).Web应用程序具有复杂且经常更新的工作流程.我决定集成Django-Viewflow库(https://github.com/viewflow/viewflow/),因为它似乎是处理工作流程的一种非常方便的方式,而不是将工作流逻辑与应用程序模型结合在一起.

在这种情况下,我创建了一个工作流程,使用Django-Viewflow库收集作者信息和版权.每次将作者添加到书籍时都应启动工作流程.

我的问题

该文档提供了逐步指导,以集成端到端的工作流解决方案(前端和后端).我的问题是我很难以编程方式控制工作流程(特别是从Book模型).

申请说明

我有一个Book模型(核心模型),与作者有很多关系.

对myApp/models.py

class Book(models.Model):
    title = models.CharField(max_length=100)
    authors = models.ManyToManyField(Author)
    publisher = models.ForeignKey(Publisher)
    publication_date = models.DateField()
Run Code Online (Sandbox Code Playgroud)

工作流程组件是:

myFlow/models.py

from viewflow.models import Process

class AuthorInvitation(process)     
    consent_confirmed = models.BooleanField(default=False)
    signature = models.CharField(max_length=150) 
Run Code Online (Sandbox Code Playgroud)

myFlow/flows.py

from viewflow import flow
from viewflow.base import this, Flow
from viewflow.contrib import celery
from viewflow.views import StartProcessView, ProcessView
from . import models, tasks

class AuthorInvitationFlow(Flow):
    process_cls = models.AuthorInvitation

    start = flow.Start(StartProcessView) \
        .Permission(auto_create=True) \
        .Next(this.notify)

    notify = celery.Job(tasks.send_authorship_request) \ …
Run Code Online (Sandbox Code Playgroud)

python django workflow django-viewflow

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

标签中的Python PIL图像自动调整大小

我正在尝试制作一个小部件来保存一个图像,该图像会自动调整大小以适应其容器,例如,如果直接打包到窗口中,那么扩展该窗口将扩展图像.

我有一些半功能的代码,但我必须在其中一个例程中添加一些常量,以防止自动调整大小重新触发自身(导致它继续增长)

我确定原因是由于小部件内部填充/边框,但即使尝试考虑到这一点我得到了这个问题.

我在64位Windows 7上使用python 3.3.2和PIL 1.1.7,我的代码如下:

from tkinter import tix
from PIL import Image, ImageTk

def Resize_Image(image, maxsize):
    r1 = image.size[0]/maxsize[0] # width ratio
    r2 = image.size[1]/maxsize[1] # height ratio
    ratio = max(r1, r2)
    newsize = (int(image.size[0]/ratio), int(image.size[1]/ratio)) # keep image aspect ratio
    image = image.resize(newsize, Image.ANTIALIAS)
    return image

class Pict_Frame(tix.Label):
    def __init__(self, parent=None, picture=None, maxupdate=None, **kwargs):
        tix.Label.__init__(self, parent, **kwargs)
        self.bind("<Configure>", self._resize_binding)
        self.maxupdate = maxupdate
        self.update_after_id = None
        self.photo = None
        self.image = None
        if picture:
            self.set_picture(picture)

    def _resize_binding(self, …
Run Code Online (Sandbox Code Playgroud)

python tkinter python-imaging-library python-3.x

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

Tcl/Tk的例子?

Tcl/Tk是一种编写小型GUI脚本的简单方法.

任何人都可以用按钮文本小部件给出一个很好的例子.按下按钮时,应执行shell命令,并将输出传送到文本小部件.

如果您有其他有用的任务的漂亮和干净的示例,请添加它们.

scripting user-interface tk-toolkit tcl

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

ruby:一个块可以影响方法中的局部变量吗?

我只是学习ruby并试图理解块中执行的代码范围.例如,我希望能够创建一个影响其附加方法的块,如下所示:

def test(&block)
  block.call() if block_given?
  puts "in test, foo is #{foo}"
  puts "in test, bar is #{bar}"
end

test() {
  foo="this is foo"
  bar="this is bar"
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我根本不想修改块 - 我希望能够使用简单的变量引用和没有参数来编写它.只有通过在上面的例子中更改'test'方法,是否可以访问块中定义的变量?

同样,目标是保持块不被修改,但能够在块执行后从'test'中访问创建的变量.

ruby closures

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

Python类:继承与实例化

我正在创建一个使用Frame()作为基类的GUIclass.

在我的GUIclass的init方法中,我想创建一个Frame小部件

现在我有:

class GUIclass(Frame):
    def __init__(self, parent):
        frame = Frame(self, parent)   
Run Code Online (Sandbox Code Playgroud)

但我在其他地方见过第三行:

Frame.__init__(self, parent)   
Run Code Online (Sandbox Code Playgroud)

我是编程,python和绝对继承的新手,我想知道我是否正确理解了两者之间的区别.我承诺,我做了大量的研究和阅读,但我找不到任何能让它完全清楚的东西:

在第一种情况下,我没有调用init方法,因为我创建了一个Frame对象(frame),当创建一个对象时,它的init方法被python隐式调用.

在第二个场景中,一个是在类上调用init方法(我认为这是完全合法的?)因为没有创建Frame对象,因此不会自动执行.

是对的吗?

我也看到了:

frame = Frame.__init__(self, parent)   
Run Code Online (Sandbox Code Playgroud)

这真的让我失望了.这只是某人做了多余的事情还是有理由这样做?

感谢您的帮助,我想暂时放慢速度并确保我完全理解我编写的任何代码行,而不是编写和运行我理解的整个程序.

python class tkinter

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

如何使用Python重命名电子表格中的工作表名称?

有一个场景我想在电子表格中更改"工作表"的名称.

一个.我试过创建了一个电子表格说ss = Workbook().想想,这是用名为"Sheet"的工作表创建电子表格

湾 我尝试使用以下格式更改工作表的名称,

ss_sheet = ss.get_sheet_by_name('Sheet')
ss_sheet.Name = 'Fruit'
Run Code Online (Sandbox Code Playgroud)

但是,上述步骤并未根据需要更改工作表名称.上面的步骤有什么问题吗?请同样评论.

谢谢

python python-2.7

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

如何使用tkinter更改按钮颜色

我一直收到以下错误:AttributeError:'NoneType'对象没有属性'configure'

# create color button
self.button = Button(self,
                     text = "Click Me",
                     command = self.color_change,
                     bg = "blue"
                    ).grid(row = 2, column = 2, sticky = W)

def color_change(self):
    """Changes the button's color"""

    self.button.configure(bg = "red")
Run Code Online (Sandbox Code Playgroud)

python tkinter button

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

如何规范化python中的字符串列表?

我有一个表示数据网格的列表列表(想想电子表格中的行).每行可以有任意数量的列,每个单元格中的数据是一个任意长度的字符串.

我想将其规范化,实际上,使每行具有相同的列数,并且数据中的每列具有相同的宽度,根据需要填充空格.例如,给出以下输入:

(
 ("row a", "a1","a2","a3"),
 ("another row", "b1"),
 ("c", "x", "y", "a long string")
)
Run Code Online (Sandbox Code Playgroud)

我希望数据看起来像这样:

(
 ("row a      ", "a1", "a2", "a3           "),
 ("another row", "b1", "  ", "             "),
 ("c          ", "x ", "y ", "a long string")
)
Run Code Online (Sandbox Code Playgroud)

什么是python 2.6或更高版本的pythonic解决方案?只是要清楚:我并不想美化打印清单本身,我在寻找返回列表与填充出来的值一个新的列表(或元组的元组)的解决方案.

python

10
推荐指数
2
解决办法
2777
查看次数

如何将print语句重定向到Tkinter文本小部件

我有一个Python程序,它执行一组操作并在STDOUT上打印响应.现在我正在编写一个GUI,它将调用已经存在的代码,我想在GUI中打印相同的内容而不是STDOUT.我将使用Text小部件来实现此目的.我不想修改执行任务的现有代码(此代码也被其他一些程序使用).

有人可以指点我如何使用这个现有的任务定义并使用其STDOUT结果并将其插入文本小部件?在主GUI程序中,我想调用此任务定义并将其结果打印到STDOUT.有没有办法使用这些信息?

python tkinter

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

为什么在转换JSON时,powershell在单行中给出的结果不同于双行?

概观

从powershell 3提示符,我想调用一个RESTful服务,获得一些JSON,并打印它.我发现如果我将数据转换为powershell对象,然后将powershell对象转换回json,我会得到一个漂亮的漂亮打印字符串.但是,如果我将两个转换组合成一个带管道的单线程,我会得到不同的结果.

TL; DR:这个:

PS> $psobj = $orig | ConvertFrom-JSON
PS> $psobj | ConvertTo-JSON
Run Code Online (Sandbox Code Playgroud)

......给我的结果与此不同:

PS> $orig | ConvertFrom-JSON | ConvertTo-JSON
Run Code Online (Sandbox Code Playgroud)

原始数据

[
  {
    "Type": "1",
    "Name": "QA"
  },
  {
    "Type": "2",
    "Name": "whatver"
  }
]
Run Code Online (Sandbox Code Playgroud)

分两步完成转换

我将删除空格(因此它适合一行...),将其转换为powershell对象,然后将其转换回JSON.这很好用,并返回正确的数据:

PS> $orig = '[{"Type": "1","Name": "QA"},{"Type": "2","Name": "DEV"}]'
PS> $psobj = $orig | ConvertFrom-JSON
PS> $psobj | ConvertTo-JSON
[
    {
        "Type":  "1",
        "Name":  "QA"
    },
    {
        "Type":  "2",
        "Name":  "DEV"
    }
]
Run Code Online (Sandbox Code Playgroud)

将这两个步骤与管道结合起来

但是,如果我将最后两个语句组合成一个单行,我会得到不同的结果:

PS> $orig | ConvertFrom-JSON | ConvertTo-JSON …
Run Code Online (Sandbox Code Playgroud)

powershell json

10
推荐指数
2
解决办法
3222
查看次数