我在django.contrib.auth.User和django.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)
谢谢你的帮助!
我一直在搞乱新的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) 我想为没有模型的管理面板创建自定义页面.首先我将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)
运行它并查看错误消息"请求的管理页面不存在.".我做错了什么?
如果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_link在PostAdmin类中添加一个方法:
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管理站点中对象的路径.)
我有一个对象的标准管理员更改表单,通常的StackedInline表单用于ForeignKey关系.我希望能够将每个内联项链接到相应的完整大小的更改表单,因为内联项具有自己的内联项,我无法嵌套它们.
我已经尝试了从自定义小部件到自定义模板的所有内容,并且无法使任何工作.到目前为止,我以片段形式看到的"解决方案"似乎并不适用于内联.我正准备尝试使用jQuery进行一些DOM攻击,以使其正常工作并继续前进.
我希望我一定会错过一些非常简单的事情,因为这看起来像是一项简单的任务!
使用Django 1.2.
运行"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) 上传具有非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) 我需要将inline title(名称)更改为模型中类Meta的verbose_name以外的其他名称.有变量这样做吗?
如果对于要过滤的字段,您有超过10个值,则过滤侧边栏开始变得难看且难以使用.
我正在寻找一种解决方案来替换<li>下拉选择(组合框)或类似的东西来解决同样的问题.
我创建了一个简单的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 ×10
django-admin ×10
python ×3
database ×1
django-forms ×1
file-upload ×1
foreign-keys ×1
hyperlink ×1
nginx ×1
sqlite ×1