草庐IT

admin_init

全部标签

python - 如何编写元类以防止在 __init__() 之后创建新属性?

目前,我在类的__init__()方法末尾覆盖类的__setattr__()方法以防止创建新属性-classPoint(object):def__init__(self):self.x=0self.y=0Point.__setattr__=self._setattrdef_setattr(self,name,value):ifnothasattr(self,name):raiseAttributeError("'"+name+"'notanattributeofPointobject.")else:super(Point,self).__setattr__(name,value)有没有

python - 如何在 Django Admin 中为属于方法//属性的字段重命名列标签?

我正在尝试为auth.User模型重新定义我的管理页面。一切正常,除了一件事。检查下面的代码:fromdjango.contribimportadminfromdjango.contrib.auth.modelsimportUserfromaccess.modelsimportUserProfileclassUserProfileInline(admin.StackedInline):model=UserProfileclassUserAdmim(admin.ModelAdmin):inlines=[UserProfileInline,]list_display=['id','user

python - 从同一目录导入 __init__.py 和模块时 python 2.7 和 3.3+ 之间的区别

最近我遇到一个问题signalIwasusingfromflask-securitywasnotbehavingasexpected在python3.3。在查看flask-security的源代码时,我注意到我从flask-security包中的模块导入的信号也被导入到__init__.py中。通过从包的顶层导入信号,我能够解决我的问题(因为信号是在包初始化时导入的)。如果我运行以下代码:fromflask.ext.securityimportuser_registeredfromflask.ext.security.signalsimportuser_registeredasuser

python - 使用 __new__ 覆盖子类中的 __init__

我对使用__new__功能将代码注入(inject)子类的__init__函数很感兴趣。我从文档中了解到,python将在__new__返回的实例上调用__init__。但是,我在从__new__返回实例之前更改实例中__init__的值的努力似乎不起作用。classParent(object):def__new__(cls,*args,**kwargs):new_object=super(Parent,cls).__new__(cls)user_init=new_object.__init__def__init__(self,*args,**kwargs):print("New__i

python - 在包的 __init__.py 中导入子模块时出现奇怪的命名空间污染

主要.py:importpackage包/__init__.py:#usefunctiontosplitlocalandglobalnamespacedefdo_import():printglobals().keys()printlocals().keys()importfooasmodprintlocals().keys()printglobals().keys()do_import()包/foo.py:print'Hellofromfoo'执行main.py会输出如下:['__builtins__','__file__','__package__','__path__','__n

python - 为什么 Fraction 使用 __new__ 而不是 __init__?

我正在尝试创建一个新的不可变类型,类似于内置的Fraction但不是派生自它。分数类iscreatedlikethis:#We'reimmutable,souse__new__not__init__def__new__(cls,numerator=0,denominator=None):...self=super(Fraction,cls).__new__(cls)self._numerator=...self._denominator=...returnself但是我看不出这和有什么不同def__init__(self,numerator=0,denominator=None):..

python - django admin - 选择反向外键关系(不是创建,我想添加可用)

假设我有一个模型School和另一个模型Student。classStudent(models.Model):school=models.ForeignKey(School)name=models.CharField(max_length=100)在管理员中单击学校时,会出现一个新页面,显示学校模型字段和值。我还想在该页面本身中选择已经可用的学生列表。Inlines不同,它们允许创建和编辑属于该学校的新记录(学生)。但我不想那样,假设已经有很多可用的学生记录。我应该能够在该学校模型页面的管理中选择它们。 最佳答案 classScho

python - 自定义用户模型字段(AbstractUser)未显示在 django admin 中

我已经使用AbstractUser方法为django扩展了用户模型。问题是,我的自定义字段没有显示在Django管理面板中。我的模型.py:fromdjango.contrib.auth.modelsimportAbstractUserclassUser(AbstractUser):is_bot_flag=models.BooleanField(default=False)我的admin.py:fromdjango.contrib.auth.adminimportUserAdminfrom.modelsimportUseradmin.site.register(User,UserAdm

python - django-admin 中的站点配置

我的站点几乎没有全局配置。例如“smtp-服务器地址”、“公司地址”等。当然可以:在settings.py中创建变量并在模板和应用程序中使用它;创建一个模型(如Configuration)并在其中写入所有需要的字段。如果我使用第一种方式,我无法在django-admin中授予更改这些字段的权限。如果我使用秒方式,这不是一个很好的解决方案,因为在代码的任何地方我都必须使用model_name.objects.get(id=1)并且我只需要一个实例。为其他任务创建了模型。我该如何解决这个问题? 最佳答案 我就是这样做的。可能不是最佳解决

python - 您有 3 个未应用的迁移。在您为应用程序 : admin, auth 应用迁移之前,您的项目可能无法正常工作

我刚刚创建了Django项目并运行了服务器。它工作正常,但向我显示了类似的警告Youhave14unappliedmigration(s)...然后我跑了pythonmanage.pymigrate在终端中。它有效,但向我展示了这个?:(1_7.W001)MIDDLEWARE_CLASSESisnotset.HINT:Django1.7changedtheglobaldefaultsfortheMIDDLEWARE_CLASSES.django.contrib.sessions.middleware.SessionMiddleware,django.contrib.auth.middl