我已将现有的django 1.3迁移到django 1.5.一切似乎都好.但是,当我这么做的时候,由于地方的风味,我有一个弃用警告python manage.py runserver
...\env\lib\site-packages\django\contrib\loca lflavor__init__.py:2:DreprecationWarning:不推荐使用django.contrib.localflavor.请改用单独的django-localflavor-*软件包.
warnings.warn("django.contrib.localflavor已弃用.请改用单独的djan go-localflavor-*包.",DeprecationWarning)
我已经阅读了django 1.5发行说明,我知道这个应用程序现已弃用.我的问题是我没有在我的项目中使用localflavor应用程序.
我想另一个应用程序正在以某种方式加载它(可能是localeurl或modeltranslation?)但我不会修复此警告.
我想实现第二个管理站点,它提供主要管理站点的一部分功能.这是可能的,并在Django文档中进行了描述
但是,我想限制主要管理网站上的访问权限.某些用户可以访问第二个站点,但不能访问主站点.
为了实现该功能,我希望这些用户不在员工中(is_staff = False)并重写 AdminSite.has_permission
class SecondaryAdminSite(AdminSite):
def has_permission(self, request):
if request.user.is_anonymous:
try:
username = request.POST['username']
password = request.POST['password']
except KeyError:
return False
try:
user = User.objects.get(username = username)
if user.check_password(password):
return user.has_perm('app.change_onlythistable')
else:
return False
except User.DoesNotExist:
return False
else:
return request.user.has_perm('app.change_onlythistable')
Run Code Online (Sandbox Code Playgroud)
不幸的是,这种方法不起作用.用户可以登录,但在辅助管理站点中看不到任何内容.
这种方法有什么问题?知道如何实现这个功能吗?
提前致谢
这是一个场景,一个包含多个投标的项目模型。
Class Project(models.Model):
user = models.ForeignKey()
Class Bid(models.Model):
project = models.ForeignKey(Project, related_name='bids')
Run Code Online (Sandbox Code Playgroud)
当我们查询项目时,我们想要预取项目的投标。
Project.objects.filter(whatever condition).prefetch_related(
Prefetch('bids', queryset=Bid.objects.all())
)
Run Code Online (Sandbox Code Playgroud)
这里我们只想获取属于过滤项目的投标,而不是所有投标,我们如何指定呢?我期待类似的事情
queryset=Bid.objects.filter(project=project?)...
Run Code Online (Sandbox Code Playgroud)
谢谢。
我在django模板中有一些法语字母(é,è,à...)但是当它被django加载时,会引发UnicodeDecodeError异常.
如果我不加载模板但直接使用python字符串.它工作正常.
使用django模板的unicode有什么办法吗?
这可能是一个初学者的问题,但我无法理解为什么onchange事件永远不会被IE调用,而它与Firefox一起工作正常.
<input type="text" id="mytext" size="48" value="" onchange="execute()"/>
<button type="button" onclick="execute()">Go</button>
Run Code Online (Sandbox Code Playgroud)
单击按钮时会调用execute函数,但输入框中的文本更改时则不会调用.
任何的想法?
我在ForeignKeyField和ManyToManyField上都有一个使用raw_id的应用程序.管理员显示编辑框右侧的外键值.
不幸的是,它与ManyToMany不兼容.我检查了代码,我认为这是正常的行为.但是,我想知道是否有人有一个简单的提示来改变这种行为?
提前致谢
更新:我试图继承ManyToManyRawIdWidget,但我不知道怎么说raw_id_fields应该使用我的自定义小部件.formfield_overrides似乎不适用于raw_id字段
我有一个Intel HEX文件,我想要一个二进制文件.如何,在python中?
我认为使用binascii模块,但我不知道哪种功能最合适.谢谢
我想在django应用程序中更改ManyToMany字段.
我有以下型号:
class A:
...
class B:
as = models.ManyToManyField(A)
Run Code Online (Sandbox Code Playgroud)
而且我要:
class A:
...
class C:
a = models.ForeignKey(A)
b = models.ForeignKey("B")
extra_data = models.BooleanField(default=False)
class B:
as = models.ManyToManyField(A, through=C)
Run Code Online (Sandbox Code Playgroud)
我正在使用南进行数据库迁移.不幸的是,在这种情况下,南方建议删除现有的app_b_a表并重新创建一个新表app_c.
有没有办法说南方不要重新创建m2m表?
python ×8
django ×6
c++ ×2
django-admin ×2
audio ×1
binary ×1
c ×1
django-1.5 ×1
django-south ×1
firefox ×1
hex ×1
javascript ×1
prefetch ×1
unicode ×1
video ×1