我想用我自己的模块版本更新python包中的一个模块,具有以下条件:
import引用原始包/模块的语句来解析我的本地模块这是我想用django的细节做的一个例子,因为这就是我出现这个问题的地方:
说这是我的项目结构
django/
... the original, unadulterated django package ...
local_django/
conf/
settings.py
myproject/
__init__.py
myapp/
myfile.py
Run Code Online (Sandbox Code Playgroud)
然后在myfile.py中
# These imports should fetch modules from the original django package
from django import models
from django.core.urlresolvers import reverse
# I would like this following import statement to grab a custom version of settings
# that I define in local_django/conf/settings.py
from django.conf import settings
def foo():
return settings.some_setting
Run Code Online (Sandbox Code Playgroud)
我可以用__import__声明做一些魔术myproject/__init__.py来完成这个吗?是否有更"pythonic"的方法来实现这一目标?
这是我觉得这很有意义的场景. …
我正在寻找一个强大,稳定的django文件管理器,用于django管理员.
我的要求愿望清单:
我使用的Django filebrowser(非格拉佩利版本),也看了(但不使用)的Django adminfiles.两者都很好.但是django-filebrowser需要在我的模型中使用自定义字段,而且我不想要'版本'(多个图像大小)功能.django-adminfiles用于将文件作为内联插入textareas,所以不是我想要的.
我很乐意修改其中一个以满足我的需求,但是如果有其他替代方案我不想这样做会讨厌.
如何使用Django模型使用两个(或更多)连接表进行选择?
例如:
class Album(models.Model):
artist = models.ForeignKey(Musician)
name = models.CharField(max_length=100)
release_date = models.DateField()
num_stars = models.IntegerField()
class Song(models.Model):
album = models.ForeignKey(Album)
name = models.CharField(max_length=100)
num_stars = models.IntegerField()
SELECT * from album, song where (album.id = song.album_id) and (album.artist_id = X)
Run Code Online (Sandbox Code Playgroud) 在如何在python中"cd"的问题中,接受的答案建议在类中包装os.chdir调用以使返回原始dir异常安全.这是推荐的代码:
class Chdir:
def __init__( self, newPath ):
self.savedPath = os.getcwd()
os.chdir(newPath)
def __del__( self ):
os.chdir( self.savedPath )
Run Code Online (Sandbox Code Playgroud)
有人可以详细说明这是如何使不安全的呼叫异常安全的吗?