概要
我正在开发一个学习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) 我正在尝试制作一个小部件来保存一个图像,该图像会自动调整大小以适应其容器,例如,如果直接打包到窗口中,那么扩展该窗口将扩展图像.
我有一些半功能的代码,但我必须在其中一个例程中添加一些常量,以防止自动调整大小重新触发自身(导致它继续增长)
我确定原因是由于小部件内部填充/边框,但即使尝试考虑到这一点我得到了这个问题.
我在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) Tcl/Tk是一种编写小型GUI脚本的简单方法.
任何人都可以用按钮和文本小部件给出一个很好的例子.按下按钮时,应执行shell命令,并将输出传送到文本小部件.
如果您有其他有用的任务的漂亮和干净的示例,请添加它们.
我只是学习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'中访问创建的变量.
我正在创建一个使用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)
这真的让我失望了.这只是某人做了多余的事情还是有理由这样做?
感谢您的帮助,我想暂时放慢速度并确保我完全理解我编写的任何代码行,而不是编写和运行我理解的整个程序.
有一个场景我想在电子表格中更改"工作表"的名称.
一个.我试过创建了一个电子表格说ss = Workbook().想想,这是用名为"Sheet"的工作表创建电子表格
湾 我尝试使用以下格式更改工作表的名称,
ss_sheet = ss.get_sheet_by_name('Sheet')
ss_sheet.Name = 'Fruit'
Run Code Online (Sandbox Code Playgroud)
但是,上述步骤并未根据需要更改工作表名称.上面的步骤有什么问题吗?请同样评论.
谢谢
我一直收到以下错误: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) 我有一个表示数据网格的列表列表(想想电子表格中的行).每行可以有任意数量的列,每个单元格中的数据是一个任意长度的字符串.
我想将其规范化,实际上,使每行具有相同的列数,并且数据中的每列具有相同的宽度,根据需要填充空格.例如,给出以下输入:
(
("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程序,它执行一组操作并在STDOUT上打印响应.现在我正在编写一个GUI,它将调用已经存在的代码,我想在GUI中打印相同的内容而不是STDOUT.我将使用Text小部件来实现此目的.我不想修改执行任务的现有代码(此代码也被其他一些程序使用).
有人可以指点我如何使用这个现有的任务定义并使用其STDOUT结果并将其插入文本小部件?在主GUI程序中,我想调用此任务定义并将其结果打印到STDOUT.有没有办法使用这些信息?
从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) python ×7
tkinter ×4
button ×1
class ×1
closures ×1
django ×1
json ×1
powershell ×1
python-2.7 ×1
python-3.x ×1
ruby ×1
scripting ×1
tcl ×1
tk-toolkit ×1
workflow ×1