我到处都看到应该通过以下方式调用超类方法:
super(SuperClass, instance).method(args)
Run Code Online (Sandbox Code Playgroud)
这样做有什么不利之处:
SuperClass.method(instance, args)
Run Code Online (Sandbox Code Playgroud) 我需要强制Django用户模型中的电子邮件字段.对我来说,如何做到这一点并不明显.建议欢迎.我目前正在使用:
from django.contrib.auth.forms import UserCreationForm
Run Code Online (Sandbox Code Playgroud)
为我的用户创建表单,并将其与我自己的自定义相结合 UserProfileCreateForm
伊恩
我有一个HTML标签,其中包含一个短的maxlength但是一个long值属性.我希望显示的文本显示文本的结尾(右侧),而不是开头(左侧).
<input maxlength=10 value="A really really really long entry goes in here"/>
Run Code Online (Sandbox Code Playgroud)
目前显示:
"真的很棒"
相反,我希望它显示:
"在这里"
干杯,
伊恩
有人能够确切地说明上传文件实际写入FileField中"upload_to"返回的位置的时间,特别是关于字段,模型,表单验证和清理的顺序吗?
现在我在我的模型上有一个"干净"的方法,它假设上传的文件就位,所以它可以对它进行一些验证.看起来该文件尚未保存,可能只是保存在临时位置或内存中.如果是这种情况,如果我需要执行一些外部进程/程序来验证文件,如何"打开"它或找到它的路径?
谢谢,
伊恩
我想在导入之前获取包的位置.基本上我想做
import pkg
pkg_path = pkg.__file__
Run Code Online (Sandbox Code Playgroud)
但不必import pkg.现在我正在做:
target = "pkg"
target_path = None
for p in sys.path:
search_path = "%s/%s" % (p, target)
if os.path.exists(search_path):
target_path = search_path
Run Code Online (Sandbox Code Playgroud)
但有几种情况下这不起作用(target不包含__init__.py,target在压缩的EGG文件中).
有没有更好的方法target_path?
谢谢,
伊恩
我正在编写一个看起来像"cat"的Python生成器.我的具体用例是"grep like"操作.我希望它能够在满足条件时突破发电机:
summary={}
for fn in cat("filelist.dat"):
for line in cat(fn):
if line.startswith("FOO"):
summary[fn] = line
break
Run Code Online (Sandbox Code Playgroud)
所以当break发生时,我需要cat()生成器完成并关闭文件句柄fn.
我必须读取包含30 GB总数据的100k文件,并且FOO关键字出现在标题区域中,因此在这种情况下,该cat()功能必须尽快停止读取文件.
还有其他方法可以解决这个问题,但我仍然有兴趣知道如何从具有打开文件句柄的生成器中提前退出.也许Python立即清理它们并在生成器被垃圾收集时关闭它们?
谢谢,
伊恩