我正在使用网络上的标准示例(http://www.20seven.org/journal/2008/11/pdf-generation-with-pisa-in-django.html)将django视图/模板转换为PDF.
是否有一种"简单"的方式在模板中包含图像(来自服务器上的URL或引用),以便它们显示在PDF上?
我正在编写一个小的python脚本来从多个服务器或单个服务器获取统计信息,我正在使用OptionParser来解析命令行输入.
#!/usr/bin/python
import sys
from optparse import OptionParser
...
parser.add_option("-s", "--server", dest="server", metavar="SERVER", type="string",
help="server(s) to gather stats [default: localhost]")
...
Run Code Online (Sandbox Code Playgroud)
我的目标是能够做类似的事情
#test.py -s server1 -s server2
Run Code Online (Sandbox Code Playgroud)
并且它会以某种方式将这两个值附加到options.server对象中,以便我可以遍历它们,无论它们是1还是10.
任何想法/帮助表示赞赏.谢谢.
我知道你可以使用upload_to参数传递一个可调用函数来动态改变Django模型中的FileFied/ImageField等.
upload_to调用的函数传递2个变量,即未保存在数据库中的文件(实例)的实例和所述实例的文件名(文件名).
如果我在模型中使用ImageField以及其他(Char等)字段,是否可以将这些字段中的值转换为相同的可调用函数.
例如.
class Badge(models.Model):
def format_badge_name(instance, filename):
_filetype = os.path.splitext(filename)[1]
_category = 'foo'
_name = os.path.splitext(filename)[0]
_filename = "%s-%s-%s%s" % (_category, _name, 'private', _filetype)
return "badges/%s" % _filename
name = models.CharField(max_length=16, help_text="Name for Badge")
file = models.ImageField(upload_to=format_badge_name)
Run Code Online (Sandbox Code Playgroud)
是否可以将name(self.name?)中的值传递给format_badge_name?
我有一个非常简单的模型:
class Badge(models.Model):
name = models.CharField(max_length=16, help_text="Name for Badge")
category = models.ForeignKey(BadgeCategory, help_text="Category for badge")
description = models.CharField(max_length=32, help_text="A brief description")
file = models.ImageField(upload_to=format_badge_name)
signals.post_save.connect(create_badge, sender=Badge)
Run Code Online (Sandbox Code Playgroud)
我知道在signals.py中我的create_badge函数有效.如果我发送它没有发送者的值,它说发件人是一个LogEntry对象.我想/需要在post_save脚本中引用一些实例信息,如下所示:
def create_badge(sender, instance, created, **kwargs):
from userinfuser.ui_api import UserInfuser
from django.conf import settings
if created:
api_key = settings.API_KEY
api_email = settings.API_EMAIL
ui = UserInfuser(api_email, api_key)
ui.create_badge(instance.category.name, instance.name, instance.description, instance.file.url)
Run Code Online (Sandbox Code Playgroud)
我在哪里可以调用我的post_save调用,以便它知道徽章(我假设这是修复?
谢谢.