1

私のmodels.py

from django.db import models
from django.contrib.auth.models import User

class Song(models.Model):
   uploader = models.ForeignKey(User)
   date_uploaded = models.DateTimeField(auto_now=True)

   song_file = models.FileField(upload_to='music/', max_length=100)
   artist = models.CharField(max_length=75, blank=True)
   title = models.CharField(max_length=100, blank=True)
   genre = models.CharField(max_length=100, blank=True)

   def __unicode__(self):
      return u'%s' % (self.song_file)

私のadmin.py

from django.contrib import admin
from uploader.models import Song
from django.db import models


class SongAdmin(admin.ModelAdmin):

   list_display = ('song_file', 'title', 'artist', 'genre', 'uploader')

   search_fields = ('song_file', 'uploader', 'genre', 'title')
   fields = ('song_file', 'title', 'artist', 'genre')

admin.site.register(Song, SongAdmin)

ファイルはアップロードされますが(メディアフォルダーに表示されます)、管理ページに表示されません。ファイルがアップロードされると、次のように表示されます。

'bool' object has no attribute 'has_header' when uploading via a FileField in my admin

ここで明らかな何かが欠けていますか?djangoはかなり新しいです。

4

2 に答える 2

2

それはPinaxの問題であることが判明しました。最新のgitに更新され、すべてが機能するようになりました。

于 2011-03-21T19:30:44.373 に答える
0

これはネット上のどこかで見つかりました。問題はHideSensitiveFieldsMiddlewareにあり、それを回避する方法(デバッグ用)は、そのミドルウェアをそのようにコメントアウトすることです。

    "pinax.middleware.security.HideSensistiveFieldsMiddleware",
+#    "pinax.middleware.security.HideSensistiveFieldsMiddleware",

設定ファイルで、おそらくデバッグ以外の環境用にそのミドルウェアを残しておく必要があります

于 2012-08-30T15:52:25.703 に答える