Python Django导入导出:管理界面“;/quot;
我想知道如何使用Django Import Export 通过阅读文档 管理集成: 对于我的初级python知识来说,示例代码和下面的图片之间的差距似乎很大 我已成功编写了以下代码: 地理系统/模型.py:Python Django导入导出:管理界面“;/quot;,python,django,Python,Django,我想知道如何使用Django Import Export 通过阅读文档 管理集成: 对于我的初级python知识来说,示例代码和下面的图片之间的差距似乎很大 我已成功编写了以下代码: 地理系统/模型.py: from django.db import models from django.utils.translation import ugettext_lazy as _ class Regional_Units(models.Model): regional_unit = mo
from django.db import models
from django.utils.translation import ugettext_lazy as _
class Regional_Units(models.Model):
regional_unit = models.CharField(
max_length=64, verbose_name=_(u'Regional Units'))
def __unicode__(self):
return u'%s' % (self.regional_unit)
from import_export import resources
from geographical_system.models import Regional_Units
from import_export.admin import ImportExportModelAdmin
class Regional_Units_Resource(resources.ModelResource):
class Meta(object):
model = Regional_Units
class Regional_Units_Resource_Admin(ImportExportModelAdmin):
resouce_class = Regional_Units_Resource # Why originally commented out?
#pass #Why pass?
from django.contrib import admin
from geographical_system.models import Regional_Units
from geographical_system.resources import Regional_Units_Resource_Admin
admin.site.register(Regional_Units)
admin.site.register(Regional_Units_Resource_Admin) # **Improvising here**, otherwise nothing would happen
地理系统资源.py:
from django.db import models
from django.utils.translation import ugettext_lazy as _
class Regional_Units(models.Model):
regional_unit = models.CharField(
max_length=64, verbose_name=_(u'Regional Units'))
def __unicode__(self):
return u'%s' % (self.regional_unit)
from import_export import resources
from geographical_system.models import Regional_Units
from import_export.admin import ImportExportModelAdmin
class Regional_Units_Resource(resources.ModelResource):
class Meta(object):
model = Regional_Units
class Regional_Units_Resource_Admin(ImportExportModelAdmin):
resouce_class = Regional_Units_Resource # Why originally commented out?
#pass #Why pass?
from django.contrib import admin
from geographical_system.models import Regional_Units
from geographical_system.resources import Regional_Units_Resource_Admin
admin.site.register(Regional_Units)
admin.site.register(Regional_Units_Resource_Admin) # **Improvising here**, otherwise nothing would happen
地理信息系统/管理系统:
from django.db import models
from django.utils.translation import ugettext_lazy as _
class Regional_Units(models.Model):
regional_unit = models.CharField(
max_length=64, verbose_name=_(u'Regional Units'))
def __unicode__(self):
return u'%s' % (self.regional_unit)
from import_export import resources
from geographical_system.models import Regional_Units
from import_export.admin import ImportExportModelAdmin
class Regional_Units_Resource(resources.ModelResource):
class Meta(object):
model = Regional_Units
class Regional_Units_Resource_Admin(ImportExportModelAdmin):
resouce_class = Regional_Units_Resource # Why originally commented out?
#pass #Why pass?
from django.contrib import admin
from geographical_system.models import Regional_Units
from geographical_system.resources import Regional_Units_Resource_Admin
admin.site.register(Regional_Units)
admin.site.register(Regional_Units_Resource_Admin) # **Improvising here**, otherwise nothing would happen
结果误差
当然,我的即兴创作admin.site.register(区域单位\u资源\u管理员)
在访问时产生了以下消息
http://127.0.0.1:8000/admin/geographical_system/regional_units/
TypeError at /admin/geographical_system/regional_units/
'RenameBaseModelAdminMethods' object is not iterable
Request Method: GET
Request URL: http://127.0.0.1:8000/admin/geographical_system/regional_units/
Django Version: 1.6
Exception Type: TypeError
Exception Value:
'RenameBaseModelAdminMethods' object is not iterable
Exception Location: /home/flyer/.virtualenvs/rara/lib/python2.7/site-packages/django/contrib/admin/sites.py in register, line 71
Python Executable: /home/flyer/.virtualenvs/rara/bin/python
Python Version: 2.7.5
Python Path:
['/home/flyer/02/rara',
'/home/flyer/.virtualenvs/rara/lib64/python27.zip',
'/home/flyer/.virtualenvs/rara/lib64/python2.7',
'/home/flyer/.virtualenvs/rara/lib64/python2.7/plat-linux2',
'/home/flyer/.virtualenvs/rara/lib64/python2.7/lib-tk',
'/home/flyer/.virtualenvs/rara/lib64/python2.7/lib-old',
'/home/flyer/.virtualenvs/rara/lib64/python2.7/lib-dynload',
'/usr/lib64/python2.7',
'/usr/lib/python2.7',
'/usr/lib64/python2.7/lib-tk',
'/home/flyer/.virtualenvs/rara/lib/python2.7/site-packages']
问题
- 为什么会出现这种错误
- 我怎么可能最终进入这个漂亮的管理界面,其中启用了导入和导出选项
admin.site.register(Regional_Units)
admin.site.register(Regional_Units_Resource_Admin)
与
如果其他一切都好的话,它应该会起作用。adminregister()
方法要求将模型作为第一个参数,并(可选)将ModelAdmin类(或子类)作为第二个参数
旁注:由于您刚刚开始使用python/django,请尝试遵守约定。这意味着不要在类名中的单词之间使用\uuu
(即RegionalUnits是一个合适的名称),并尝试将ModelAdmin
声明放在admin.py模块内(即RegionalUnitsResourceAdmin
应该在admin.py中声明,而不是导入)。您应该替换
admin.site.register(Regional_Units_Resource_Admin)
与
您可能希望将其注册到一个类中。试试:
admin.site.register(地区单位、地区单位、资源管理)
thanx,我这一级别的文档很难写!还有一个警告。确保上课顺序正确。您希望先使用区域单位,然后使用区域单位资源管理。我有它的另一种方式,这表明我这个错误,不知道为什么。Thanx的公约,建议赞赏。