标签: admin

Django Admin:引用User的ForeignKey和ManyToManyField关系的排序

我有一个应用程序,它使用Django UserProfile来扩展内置的Django User模型.看起来有点像:

class UserProfile(models.Model):
    user = models.ForeignKey(User, unique=True)
    # Local Stuff
    image_url_s = models.CharField(max_length=128, blank=True)
    image_url_m = models.CharField(max_length=128, blank=True)

    # Admin
    class Admin: pass
Run Code Online (Sandbox Code Playgroud)

我在我的模型中添加了一个新类:

class Team(models.Model):
    name = models.CharField(max_length=128)
    manager = models.ForeignKey(User, related_name='manager')
    members = models.ManyToManyField(User, blank=True)
Run Code Online (Sandbox Code Playgroud)

它已注册到管理员:

class TeamAdmin(admin.ModelAdmin):
    list_display = ('name', 'manager')

admin.site.register(Team, TeamAdmin)
Run Code Online (Sandbox Code Playgroud)

唉,在管理界面中,当我从下拉框中选择管理员,或通过多选字段设置团队成员时,他们按用户数字ID排序.对于我的生活,我无法弄清楚如何对这些进行排序.

我有一个类似的课:

class Meta:
    ordering = ['name']
Run Code Online (Sandbox Code Playgroud)

这很棒!但我并不"拥有"这个User课程,当我尝试这个技巧时UserAdmin:

class Meta:
    ordering = ['username']
Run Code Online (Sandbox Code Playgroud)

我明白了:

django.core.management.base.CommandError: One or more models did not validate: events.userprofile: "ordering" refers to …

python sorting django admin user-profile

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

检测Java应用程序是否作为Windows管理员运行

我有一个Java应用程序.无论如何,我可以判断该进程是否在Windows 7上以管理员权限运行.

java windows privileges admin

19
推荐指数
3
解决办法
1万
查看次数

如何为Django管理模型添加实例表单设置初始数据?

在显示表单之前,如何在自动生成的表单中设置字段的初始值以添加Django模型实例?我正在使用Django 1.3.1.

我的模型如下:

class Foo(models.Model):
  title = models.CharField(max_length=50)
  description = models.TextField()
Run Code Online (Sandbox Code Playgroud)

而目前的管理形式真的没什么特别的

class FooAdmin(admin.ModelAdmin):
  ordering = ('title',)
Run Code Online (Sandbox Code Playgroud)

当我使用管理页面添加一个新的Foo实例时,我得到一个很好的表单,其中包含标题和描述的空字段.我想要的是描述字段是通过调用函数获得的模板设置的.

我目前最好的尝试是:

def get_default_content():
  return 'this is a template for a Foo description'

class FooAdminForm(django.forms.ModelForm):

  class Meta:
      model = Foo

  def __init__(self, *args, **kwargs):
      kwargs['initial'].update({'description': get_default_content()})
      super(FooAdminForm, self).__init__(self, *args, **kwargs)

class FooAdmin(admin.ModelAdmin):
  ordering = ('title',)
  form = FooAdminForm
Run Code Online (Sandbox Code Playgroud)

但如果我尝试这个,我得到这个Django错误:

AttributeError at /admin/bar/foo/add/ 
   'FooForm' object has no attribute 'get'
Request Method: GET
Request URL:    http://localhost:8000/admin/bar/foo/add/
Django Version: 1.3.1
Exception Type: AttributeError
Exception Value:    'FooForm' …
Run Code Online (Sandbox Code Playgroud)

forms django model admin

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

在shell中创建新的管理员webmin用户

已安装webmin并想要创建一个非root用户登录,请按照以下步骤操作:

  1. 编辑文件/etc/webmin/miniserv.users并为新用户添加一行

    anubhav:12ZVLjpihs:0
    
    Run Code Online (Sandbox Code Playgroud)
  2. 编辑文件 /etc/webmin/webmin.acl并复制root用户的第一行并将其粘贴到同一文件中,将root重命名为新用户并保存文件,因此该文件应该像

    root:access privileges
    anubhav:accessprivileges.
    
    Run Code Online (Sandbox Code Playgroud)
  3. 重置新用户密码/usr/share/webmin/changepass.pl /etc/webmin anubhav mypassword.

  4. 重新启动webmin,从/etc/init.d/webmin restart

  5. 导航到您的webmin页面并登录用户新的用户名和密码.

linux passwords admin webmin

19
推荐指数
1
解决办法
1万
查看次数

如何在Magento2中更改主题

更新:这可能是版本问题,我应该更新到非稳定版2.0.4吗?

我知道这对某人来说应该是显而易见的,但显然不是.作为文件中的状态

在管理员中,转到商店>配置>设计.

但是只有机器人txt编辑,如下面的屏幕截图所示

设计选项卡仅显示机器人.txt编辑器

我在github #4251上追查这个问题

所有设计配置都转移到了内容 - >设计 - >配置

当我到达那里时,我的自定义主题成功显示,但没有按钮可以更改它,如下所示.没有选项可以从默认的lumia主题更改为空白主题.

在此输入图像描述

只有我吗?或者我是盲人,错过了一些非常明显的东西?我的磁力版是2.0.0

themes admin magento magento2

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

Django:提供ADMIN媒体文件

我已成功为普通的MEDIA文件提供媒体文件,但当我尝试提供管理媒体文件时,我失败了.请帮助我找到问题所在,因为我已经尝试解决问题好几个小时已经没有运气了(谷歌搜索也读了django doc关于提供静态文件).

我尝试访问localhost:8000/media/a.gif时的错误如下:

页面未找到:f:\ python25\lib\site-packages\django/contrib/admin/media\a.gif

我将管理媒体文件放在名为"media"的目录中,而我将普通媒体文件放在名为"static"的目录中.我也在Windows上.

以下是我在urls.py中提供普通媒体文件的方式:

# serve static files
from django.conf import settings
if settings.ENVIRONMENT==settings.ENV_DEVELOPMENT:
    urlpatterns += patterns("django.views",
        url(r"%s(?P<path>.*)$" % settings.MEDIA_URL[1:], "static.serve", {"document_root": settings.MEDIA_ROOT,})
    )
Run Code Online (Sandbox Code Playgroud)

还有我的settings.py(只有重要部分):

import project_path
MEDIA_ROOT = project_path.MEDIA.replace('\\','/')
MEDIA_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/media/'
TEMPLATE_DIRS = (
    project_path.TEMPLATE.replace('\\','/'),
)
Run Code Online (Sandbox Code Playgroud)

我的project_path.py:

import sys
from os.path import dirname, join
ROOT = dirname(__file__)
APP = join(ROOT, "apps")
TEMPLATE = join(ROOT, "templates")
MEDIA = join(ROOT, "static")
ADMIN_MEDIA = join(ROOT, "media")
Run Code Online (Sandbox Code Playgroud)

任何提示?

或者至少请分享您如何提供管理媒体文件(不更改来自Web服务器的任何文件,但只能通过django源代码)

提前致谢 :)

media django routing admin path

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

Django管理员自定义更改列表参数:覆盖/?e = 1

我正在尝试将自定义参数传递给Django Admin更改列表视图,以便我可以以专门的方式过滤列表.我想基于名为'active_pp'的GET参数在2个字段start_date和end_date上过滤查询集.我已经使过滤正常工作,但我无法传入GET查询参数,该参数指定是否应显示过滤结果或正常结果.

我知道,由于安全性,Django Admin会过滤掉任何与指定模型字段无关的传递给它的查询参数.在找到错误的参数后,管理员将用户重定向到当前视图,但用e = 1替换GET查询参数.我想将我的自定义'active_pp'参数列入白名单,这样页面就不会被重定向,我将能够使用该参数.

以下是带有queryset自定义的admin.py中的ModelAdmin示例.

class FeaduredAdmin(admin.ModelAdmin): 

    ....

    def get_changelist(self, request, **kwargs):
        from django.contrib.admin.views.main import ChangeList

        # Try to get the 'active_pp' query parameter
        active_pp = request.GET.get('active_pp',None)

        # Define a custom ChangeList class with a custom queryset
        class ActiveChangeList(ChangeList):
            def get_query_set(self, *args, **kwargs):
                now = datetime.datetime.now()
                qs = super(ActiveChangeList, self).get_query_set(*args, **kwargs)
                return qs.filter((Q(start_date=None) | Q(start_date__lte=now))
                             & (Q(end_date=None) | Q(end_date__gte=now)))

        # use the custom ChangeList class if the parameter exists
        if active_pp:
             return ActiveChangeList

        return ChangeList
Run Code Online (Sandbox Code Playgroud)

有谁知道如何将传递给change_list的自定义GET查询字符串参数列入白名单?

感谢阅读和考虑,乔

更新: …

django arguments admin filter querystringparameter

18
推荐指数
3
解决办法
7093
查看次数

检查PostgreSQL中的角色是否设置了密码

我想知道如何验证角色(用户只是一种特定类型的角色)是否在PostgreSQL 9.1中设置了密码.

我尝试了命令\dg+,\du+但他们没有向您显示任何密码相关信息.我也使用了以下查询,但它没有帮助,因为它的无差异(我很确​​定postgresql用户在这种情况下没有设置密码):

SELECT * FROM pg_user;

 usename  | usesysid | usecreatedb | usesuper | usecatupd | userepl |  passwd  | valuntil | useconfig 
----------+----------+-------------+----------+-----------+---------+----------+----------+-----------
 postgres |       10 | t           | t        | t         | t       | ******** |          | 
 aef      |    16201 | t           | t        | t         | t       | ******** |          | 
Run Code Online (Sandbox Code Playgroud)

postgresql admin

18
推荐指数
1
解决办法
1万
查看次数

runserver 上的 Django E.408、E.409 和 E.410 错误

我正在使用 virtualenv 以正常方式安装一个新的 Django 项目。我的Python版本是3.7.3,django是2.2.3。

如果我执行 python manage.py runserver,我会收到以下错误:

?: (admin.E408)'django.contrib.auth.middleware.AuthenticationMiddleware' must be in MIDDLEWARE in order to use the admin application.
?: (admin.E409) 'django.contrib.messages.middleware.MessageMiddleware' must be in MIDDLEWARE in order to use the admin application.
?: (admin.E410) 'django.contrib.sessions.middleware.SessionMiddleware' must be in MIDDLEWARE in order to use the admin application.
Run Code Online (Sandbox Code Playgroud)

这是我的settings.py,你可以看到那些中间件在那里。

"""
Django settings for fcc_new project.

Generated by 'django-admin startproject' using Django 1.9.4.

For more information on this file, see
https://docs.djangoproject.com/en/1.9/topics/settings/

For the full list of settings and their …
Run Code Online (Sandbox Code Playgroud)

python django admin

18
推荐指数
4
解决办法
1万
查看次数

如何覆盖list_filter中提供过滤器的查询集?

鉴于以下型号

class AnotherModel(models.Model):
    n = models.IntegerField()

class MyModel(models.Model):
    somefield = models.ForeignKey(AnotherModel)
Run Code Online (Sandbox Code Playgroud)

和管理员

class MyModelAdmin(admin.ModelAdmin):        
    list_filter = ('somefield',)
Run Code Online (Sandbox Code Playgroud)

如何过滤实例AnotherModel以仅n在管理过滤器中显示具有给定值的实例?

我需要这样的东西:

过滤

通过某个地方

所有

[给定n的AnotherModel实例列表]

django admin

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