小编aem*_*mdy的帖子

django模板中的变量减法

它能够写{{ myval.add:5 }},{{ myval|add:value }}甚至{{ myval|add:-5 }}.

但是,我无法找到我应该键入的值来添加*-1之类的{{ myval|add:-value }}.遗憾的是,这不起作用.

django django-templates

56
推荐指数
4
解决办法
5万
查看次数

如何使用python fabric自动回答提示?

我想运行一个命令,提示我输入yes/no或y/n或者其他什么.如果我只是运行命令local("my_command")然后它停止并要求我输入.当我输入所需内容时,脚本继续工作.如何自动响应提示?

python command-prompt fabric

29
推荐指数
4
解决办法
2万
查看次数

如何获取特定Python模块中的变量列表?

我们假设我有以下文件结构:

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__等等.

python

25
推荐指数
2
解决办法
3万
查看次数

在Python中创建2D坐标图

我不是在寻找解决方案,我正在寻找更好的解决方案,或者通过使用其他类型的列表理解或其他方式来寻找更好的解决方案.

我需要生成一个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)

还有其他解决方案吗?我最喜欢第一个.

python iterator coordinates

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

Django OneToOneField - 我应该把它放在哪个模型中?

我们假设我们有以下模型.

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 one-to-one

12
推荐指数
2
解决办法
5349
查看次数

重命名Django FileField中的文件

我知道这里有一个非常相似的线程,但我无法找到解决问题的方法.

我需要重命名一个保存在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)

django file django-models filefield

7
推荐指数
3
解决办法
7911
查看次数

Django管理查询集按外键向后关系过滤

我有模型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)

我怎样才能做到这一点?可悲的是,我通过谷歌搜索找不到任何解决方案.

django django-admin django-admin-filters

7
推荐指数
1
解决办法
1137
查看次数

Django视图,模型,表单,应用程序命名

我有一个问题:"我应该如何命名应用程序,视图,模型,表单,字段等?"

例如,我有一个实现了邮箱的浏览器游戏.

应用程序无法命名为邮箱,因此我将其命名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 naming-conventions

6
推荐指数
1
解决办法
3420
查看次数

Serving files on S3 bucket through Cloudflare

我想通过 Cloudflare 网络提供 S3 存储桶文件,但遇到了一些问题。此处提供集成说明,但它们仅适用于新存储桶,因为在命名subdomain.domain.com我的存储桶时需要命名存储桶domain

是否还有其他解决方案可以将 CloudFlare 与 S3 结合使用,而无需将文件从一个存储桶复制到另一个存储桶 - 例如设置一些重定向等?问题是我的存储桶包含超过 600 万个文件,占用了 200 GB 的存储空间。

Amazon S3 定价规则也很难理解。我很难找到信息,如果它们位于同一位置,将信息从一个存储桶传输到另一个存储桶的成本是多少。

感谢您的回答。

rename amazon-s3 cloudflare

5
推荐指数
1
解决办法
649
查看次数

django admin登录后重定向到另一个页面

我正在Django中创建一个自定义管理页面.我不想重新发明轮子,因此想要使用Django管理员登录表单为员工登录并将其重定向到/ my-url /之后.

但是,在/ admin /成功登录后,我找不到将用户重定向到自定义URL的方法.

django redirect django-admin

4
推荐指数
3
解决办法
8854
查看次数