标签: django-admin

有没有一种简单的方法来获取django中用户的组名

我在django.contrib.auth.Userdjango.contrib.auth.Group的帮助下尝试使用Code

for g in request.user.groups:
    l.append(g.name)
Run Code Online (Sandbox Code Playgroud)

但那失败了,我收到了以下错误:

TypeError at /
'ManyRelatedManager' object is not iterable
Request Method: GET
Request URL:    http://localhost:8000/
Exception Type: TypeError
Exception Value:    
'ManyRelatedManager' object is not iterable
Exception Location: C:\p4\projects\...\users.py in permission, line 55
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

python django django-admin

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

Django Admin CSS缺失

我一直在搞乱新的collectstatic命令,并让它适用于我的普通页面.也就是说,我可以在这个位置加载我的CSS http://localhost:8000/static/css/main.css.但是,我的django管理员的CSS似乎没有显示出来.

当我导航到admin css位置时http://localhost:8000/static/admin/css/base.css,我找不到404页面,但出现以下错误:/home/nai/GitProjects/cats/django-trunk/django/contrib/admin/media/css/base.css" does not exist.看着django-trunk,我从来没有/home/nai/GitProjects/cats/django-trunk/django/contrib/admin/media/开始使用该文件夹.

这有点奇怪吗?

在任何情况下,在我的静态文件夹中,都有一个admin文件夹,其中包含随附的css,img和js文件夹,这些文件夹是在我运行collectstatic时创建的,而base.css的url似乎指向该位置.

这发生在我的django开发服务器上.这里有一些片段可以帮助捕获bug:

网址

 33 # In order for Dev Server to serve media files for the frontend site.
 34 urlpatterns += staticfiles_urlpatterns()
 35 
 36 try:
 37     if settings.DEBUG: # defined in manage.py when the first arg is "runserver"
 38         urlpatterns += patterns('',
 39         (r'^media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT}),
 40         (r'^media-admin/(?P<path>.*)$', 'django.views.static.serve',{'document_root': os.path.join(settings.MEDIA_ROOT, '..', settings.ADMIN_MEDIA_PREFIX)}),
 41         )
 42 except NameError:
 43     pass
Run Code Online (Sandbox Code Playgroud)

我认为这可能与我的URLS文件中的第40行有关,但将media-admin更改为static/admin没有帮助.

设置

     58 ADMIN_MEDIA_PREFIX …
Run Code Online (Sandbox Code Playgroud)

django django-admin

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

如何为django admin创建自定义页面?

我想为没有模型的管理面板创建自定义页面.首先我将index.html复制到项目文件夹:

mysite/
    templates/
        admin/
            index.html
Run Code Online (Sandbox Code Playgroud)

然后添加到应用程序阻止我的代码:

<div class="module">
    <table summary="{% blocktrans with name="preferences" %}Models available in the preferences application.{% endblocktrans %}">
        <caption><a href="preferences" class="section">{% blocktrans with name="preferences" %}Preferences{% endblocktrans %}</a></caption>
            <tr>
                <th scope="row"><a href="preferences">Preferences</a></th>
                <td><a href="preferences" class="changelink">{% trans 'Change' %}</a></td>
            </tr>
    </table>
</div>
Run Code Online (Sandbox Code Playgroud)

这很好用,然后我创建新页面/templates/admin/preferences/preferences.html并添加到urls.py:

url(r'^admin/preferences/$', TemplateView.as_view(template_name='admin/preferences/preferences.html')),
Run Code Online (Sandbox Code Playgroud)

并将代码添加到preferences.html:

{% extends "admin/base_site.html" %}
{% block title %}Test page{% endblock %}
Run Code Online (Sandbox Code Playgroud)

运行它并查看错误消息"请求的管理页面不存在.".我做错了什么?

python django django-admin

38
推荐指数
6
解决办法
4万
查看次数

django管理列表中的外键显示

如果django模型包含外键字段,并且该字段以列表模式显示,则它显示为文本,而不是显示指向外部对象的链接.

是否可以自动将所有外键显示为链接而不是平面文本?

(当然可以逐场进行,但有一般方法吗?)

示例:

class Author(models.Model):
    ...

class Post(models.Model):
    author = models.ForeignKey(Author)
Run Code Online (Sandbox Code Playgroud)

现在我选择一个ModelAdmin,以便作者以列表模式显示:

class PostAdmin(admin.ModelAdmin):
    list_display = [..., 'author',...]
Run Code Online (Sandbox Code Playgroud)

现在在列表模式下,作者字段将只使用类的__unicode__方法Author来显示作者.最重要的是,我希望链接指向管理站点中相应作者的URL.那可能吗?

手动方式:

为了完整起见,我添加了手动方法.这将是author_linkPostAdmin类中添加一个方法:

def author_link(self, item):
    return '<a href="../some/path/%d">%s</a>' % (item.id, unicode(item))
author_link.allow_tags = True
Run Code Online (Sandbox Code Playgroud)

这将适用于该特定领域,但这不是我想要的.我想要一种通用的方法来达到同样的效果.(其中一个问题是如何自动计算django管理站点中对象的路径.)

django foreign-keys django-admin

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

在django admin中为内联项添加完整更改表单的链接?

我有一个对象的标准管理员更改表单,通常的StackedInline表单用于ForeignKey关系.我希望能够将每个内联项链接到相应的完整大小的更改表单,因为内联项具有自己的内联项,我无法嵌套它们.

我已经尝试了从自定义小部件到自定义模板的所有内容,并且无法使任何工作.到目前为止,我以片段形式看到的"解决方案"似乎并不适用于内联.我正准备尝试使用jQuery进行一些DOM攻击,以使其正常工作并继续前进.

我希望我一定会错过一些非常简单的事情,因为这看起来像是一项简单的任务!

使用Django 1.2.

django hyperlink django-forms django-admin

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

Django"无法打开数据库文件"

运行"python manage.py syncdb"后,我得到一个错误,说"无法打开数据库文件".

这是我的settings.py的重要部分:

DATABASE_ENGINE = 'sqlite3'    # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
DATABASE_NAME = 'apps.db'      # Or path to database file if using sqlite3.
DATABASE_USER = ''             # Not used with sqlite3.
DATABASE_PASSWORD = ''         # Not used with sqlite3.
DATABASE_HOST = ''             # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.
Run Code Online (Sandbox Code Playgroud)

这是"apps.db"的权限:

-rw-r--r-- 1 root root 33792 19. Jul 10:51 apps.db …
Run Code Online (Sandbox Code Playgroud)

database sqlite django django-models django-admin

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

UnicodeEncodeError:'ascii'编解码器无法编码字符

上传具有非ASCII字符的文件时,我得到UnicodeEncodeError:

Exception Type: UnicodeEncodeError at /admin/studio/newsitem/add/
Exception Value: 'ascii' codec can't encode character u'\xf8' in position 78: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)

查看完整堆栈跟踪.

我用MySQL和nginx以及FastCGI运行Django 1.2.

这是根据Django Trac数据库修复的问题,但我仍然遇到问题.欢迎任何有关如何修复的建议.

编辑:这是我的图像字段:

image = models.ImageField(_('image'), upload_to='uploads/images', max_length=100)
Run Code Online (Sandbox Code Playgroud)

django file-upload nginx django-admin django-uploads

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

如何在Django Admin中设置其他内联标题?

我需要将inline title(名称)更改为模型中类Meta的verbose_name以外的其他名称.有变量这样做吗?

python django django-models django-admin

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

如何更改Django管理过滤器以使用下拉列表而不是列表?

如果对于要过滤的字段,您有超过10个值,则过滤侧边栏开始变得难看且难以使用.

我正在寻找一种解决方案来替换<li>下拉选择(组合框)或类似的东西来解决同样的问题.

django django-admin

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

使用django 1.4执行syncdb时出现"settings.DATABASES配置不正确"错误

我创建了一个简单的django 1.4项目,并尝试发出syncdb来创建(postgres)数据库模式.我收到这个错误: -

Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 196, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 232, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 371, in handle
return self.handle_noargs(**options)
File "/usr/local/lib/python2.6/dist-packages/django/core/management/commands/syncdb.py", line 57, in handle_noargs
cursor = connection.cursor()
File "/usr/local/lib/python2.6/dist-packages/django/db/backends/dummy/base.py", line 15, in complain
raise ImproperlyConfigured("settings.DATABASES is improperly configured. "
django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly …
Run Code Online (Sandbox Code Playgroud)

django django-models django-admin

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