它能够写{{ myval.add:5 }},{{ myval|add:value }}甚至{{ myval|add:-5 }}.
但是,我无法找到我应该键入的值来添加*-1之类的{{ myval|add:-value }}.遗憾的是,这不起作用.
我想运行一个命令,提示我输入yes/no或y/n或者其他什么.如果我只是运行命令local("my_command")然后它停止并要求我输入.当我输入所需内容时,脚本继续工作.如何自动响应提示?
我们假设我有以下文件结构:
data.py
foo = []
bar = []
abc = "def"
Run Code Online (Sandbox Code Playgroud)
core.py
import data
# do something here #
# a = ...
print a
# ['foo', 'bar', 'abc']
Run Code Online (Sandbox Code Playgroud)
我需要获取data.py文件中定义的所有变量.我怎样才能做到这一点?我可以使用dir(),但它返回模块的所有属性,包括__name__等等.
我不是在寻找解决方案,我正在寻找更好的解决方案,或者通过使用其他类型的列表理解或其他方式来寻找更好的解决方案.
我需要生成一个2个整数的元组列表来获取地图坐标,如[(1,1),(1,2),...,(x,y)]
所以我有以下内容:
width, height = 10, 5
Run Code Online (Sandbox Code Playgroud)
解决方案1
coordinates = [(x, y) for x in xrange(width) for y in xrange(height)]
Run Code Online (Sandbox Code Playgroud)
解决方案2
coordinates = []
for x in xrange(width):
for y in xrange(height):
coordinates.append((x, y))
Run Code Online (Sandbox Code Playgroud)
解决方案3
coordinates = []
x, y = 0, 0
while x < width:
while y < height:
coordinates.append((x, y))
y += 1
x += 1
Run Code Online (Sandbox Code Playgroud)
还有其他解决方案吗?我最喜欢第一个.
我们假设我们有以下模型.
class A(Model): pass
class B(Model): pass
Run Code Online (Sandbox Code Playgroud)
然后没有区别:
在模型A中: b = OneToOneField(B, related_name=A.__name__)
和
在模型B中: a = OneToOneField(A, related_name=B.__name__)
那么我应该问自己什么问题来决定是否将OTO放在一个或另一个模型中.我的意思是像has-a,is-a等等.
我知道这里有一个非常相似的线程,但我无法找到解决问题的方法.
我需要重命名一个保存在django models.FileField中的文件
我试过这个
os.rename(old_path, new_path)
mod.direct_file = File(open(new_path))
mod.save()
Run Code Online (Sandbox Code Playgroud)
还有这个
mod.direct_file.save(new_path, File(open(old_path)))
os.remove(old_path)
Run Code Online (Sandbox Code Playgroud)
还有很多方法,但似乎没有任何帮助.以各种方式创建新文件,但是,文件字段中的数据根本不会更改.
编辑:已解决
os.rename(old_path, new_path)
cursor = connection.cursor()
cursor.execute("UPDATE mods_mod SET direct_file = %s WHERE id = %s", [new_name, mod.id])
transaction.commit_unless_managed()
Run Code Online (Sandbox Code Playgroud) 我有模型A和B,其中B有一个FK到A.
我使用django 1.3,我需要两个django管理过滤器:
1) a.b_set.exists() # (True/False)
2) not a.b_set.filter(some_condition=False).exists() # (True/False)
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?可悲的是,我通过谷歌搜索找不到任何解决方案.
我有一个问题:"我应该如何命名应用程序,视图,模型,表单,字段等?"
例如,我有一个实现了邮箱的浏览器游戏.
应用程序无法命名为邮箱,因此我将其命名pm_box(这样好吗?)
然后我必须创建所有消息的模型.什么型号名称应该是?消息或消息?它应该有一个布尔字段,True如果已经读取了消息.该字段应该被调用read还是is_read?
然后我有一个列出消息的视图.我应该命名为list_messages,message_list,message_list_view或者list_messages_view(如果我没有指定的收件箱/发件箱)?
新消息输入数据验证的表单.应该命名表单NewMessageForm,MessageWritingForm ..?
之后我想跟踪每个玩家的时间戳.为此我有玩家模型(或者它应该是玩家)?对于用户的OneToOne字段和具有字段的TimeTamp模型(或时间戳)的OneToOne字段:online last_pm_sent,, some_action.
谢谢你的所有答案.我已经阅读过django样式文档和pep,但是,这些东西都没有指定.
编辑:项目名称(in pyCharm)是我的游戏名称.我应该如何命名第一个应用程序以及我应该在哪里持有Player(s)模型(在哪个应用程序中)也是UserProfile.
我正在Django中创建一个自定义管理页面.我不想重新发明轮子,因此想要使用Django管理员登录表单为员工登录并将其重定向到/ my-url /之后.
但是,在/ admin /成功登录后,我找不到将用户重定向到自定义URL的方法.
django ×6
python ×3
django-admin ×2
amazon-s3 ×1
cloudflare ×1
coordinates ×1
fabric ×1
file ×1
filefield ×1
iterator ×1
one-to-one ×1
redirect ×1
rename ×1