Python ';非类型';对象没有属性'__获取项目';
在尝试访问管理面板中的用户配置文件时,我开始遇到此问题Python ';非类型';对象没有属性'__获取项目';,python,django,amazon-s3,sorl-thumbnail,Python,Django,Amazon S3,Sorl Thumbnail,在尝试访问管理面板中的用户配置文件时,我开始遇到此问题 TypeError at /admin/users/userprofile/2/ 'NoneType' object has no attribute '__getitem__' 这是在我将Django存储集成到我的应用程序中以使用AmazonS3存储服务之后开始的。我不知道这里有什么冲突。回溯似乎表明问题在于我在用户图像字段中使用的sorl thubmnails 这是我的设置.py DEFAULT_FILE_STORAGE = 'sto
TypeError at /admin/users/userprofile/2/
'NoneType' object has no attribute '__getitem__'
这是在我将Django存储集成到我的应用程序中以使用AmazonS3存储服务之后开始的。我不知道这里有什么冲突。回溯似乎表明问题在于我在用户图像字段中使用的sorl thubmnails
这是我的设置.py
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
AWS_ACCESS_KEY_ID = 'my-access-key'
AWS_SECRET_ACCESS_KEY = 'my-secret-key'
AWS_STORAGE_BUCKET_NAME = 'my-bucket-name'
STATIC_URL = 'http://' + AWS_STORAGE_BUCKET_NAME + '.s3.amazonaws.com/'
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'
这是我的用户模型
from sorl.thumbnail import ImageField
class UserProfile(AbstractBaseUser):
email = models.EmailField(max_length=255, unique=True)
username = models.CharField(max_length=100, unique=True)
name = models.CharField(max_length=255)
location = models.CharField(max_length=255, blank=True, null=True)
website = models.CharField(max_length=255, blank=True, null=True)
image = ImageField(upload_to='media', blank=True, null=True)
points = models.PositiveIntegerField(default=0)
added_on = models.DateTimeField(auto_now_add=True)
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
这是问题的回溯
Environment:
Request Method: GET
Request URL: http://www.localhost/admin/users/userprofile/2/
Django Version: 1.6.5
Python Version: 2.7.3
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'south',
'rest_framework',
'django_extensions',
'debug_toolbar',
'django_jinja',
'django_statsd',
'django_user_agents',
'alphafilter',
'redis_status',
'subdomains',
'pipeline',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.facebook',
'allauth.socialaccount.providers.twitter',
'allauth.socialaccount.providers.google',
'sorl.thumbnail',
'storages',
'brands',
'cachier',
'categories',
'crawler',
'deals',
'features',
'facets',
'products',
'stores',
'users',
'util')
Installed Middleware:
('buyingiq.middleware.TimerMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'subdomains.middleware.SubdomainURLRoutingMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django_user_agents.middleware.UserAgentMiddleware',
'buyingiq.middleware.VisitorMiddleware')
Template error:
In template /home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/contrib/admin/templates/admin/includes/fieldset.html, error at line 19
'NoneType' object has no attribute '__getitem__'
9 : {% for field in line %}
10 : <div{% if not line.fields|length_is:'1' %} class="field-box{% if field.field.name %} field-{{ field.field.name }}{% endif %}{% if not field.is_readonly and field.errors %} errors{% endif %}"{% elif field.is_checkbox %} class="checkbox-row"{% endif %}>
11 : {% if not line.fields|length_is:'1' and not field.is_readonly %}{{ field.errors }}{% endif %}
12 : {% if field.is_checkbox %}
13 : {{ field.field }}{{ field.label_tag }}
14 : {% else %}
15 : {{ field.label_tag }}
16 : {% if field.is_readonly %}
17 : <p>{{ field.contents|linebreaksbr }}</p>
18 : {% else %}
19 : {{ field.field }}
20 : {% endif %}
21 : {% endif %}
22 : {% if field.field.help_text %}
23 : <p class="help">{{ field.field.help_text|safe }}</p>
24 : {% endif %}
25 : </div>
26 : {% endfor %}
27 : </div>
28 : {% endfor %}
29 : </fieldset>
Traceback:
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
137. response = response.render()
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/response.py" in render
105. self.content = self.rendered_content
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/response.py" in rendered_content
82. content = template.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/base.py" in render
140. return self._render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
85. return self.nodelist.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/base.py" in render
840. bit = self.render_node(node, context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78. return node.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
123. return compiled_parent._render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
85. return self.nodelist.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/base.py" in render
840. bit = self.render_node(node, context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78. return node.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
123. return compiled_parent._render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
85. return self.nodelist.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/base.py" in render
840. bit = self.render_node(node, context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78. return node.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
62. result = block.nodelist.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/base.py" in render
840. bit = self.render_node(node, context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78. return node.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
62. result = block.nodelist.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/base.py" in render
840. bit = self.render_node(node, context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78. return node.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
196. nodelist.append(node.render(context))
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
155. return self.render_template(self.template, context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render_template
137. output = template.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/base.py" in render
140. return self._render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/test/utils.py" in instrumented_test_render
85. return self.nodelist.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/base.py" in render
840. bit = self.render_node(node, context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78. return node.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
196. nodelist.append(node.render(context))
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
196. nodelist.append(node.render(context))
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
305. return nodelist.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/base.py" in render
840. bit = self.render_node(node, context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78. return node.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
305. return nodelist.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/base.py" in render
840. bit = self.render_node(node, context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78. return node.render(context)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/template/debug.py" in render
91. output = force_text(output)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/utils/encoding.py" in force_text
100. s = s.__unicode__()
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/forms/forms.py" in __str__
425. return self.as_widget()
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/forms/forms.py" in as_widget
475. return widget.render(name, self.value(), attrs=attrs)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/sorl/thumbnail/admin/current.py" in render
34. ) % (mini.width, value.url, mini.url, output)
File "/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/sorl/thumbnail/images.py" in width
51. return self.size[0]
Exception Type: TypeError at /admin/users/userprofile/2/
Exception Value: 'NoneType' object has no attribute '__getitem__'
环境:
请求方法:获取
请求URL:http://www.localhost/admin/users/userprofile/2/
Django版本:1.6.5
Python版本:2.7.3
已安装的应用程序:
(“django.contrib.admin”,
“django.contrib.auth”,
“django.contrib.contenttypes”,
“django.contrib.sessions”,
“django.contrib.messages”,
“django.contrib.staticfiles”,
“django.contrib.sites”,
“南方”,
“rest_框架”,
“django_扩展”,
“调试工具栏”,
“django_jinja”,
“django_statsd”,
“django_用户_代理”,
“字母过滤器”,
“redis_状态”,
“子域”,
"管道",,
“阿拉斯”,
“allauth.账户”,
“allauth.socialaccount”,
“allauth.socialaccount.providers.facebook”,
“allauth.socialaccount.providers.twitter”,
'allauth.socialaccount.providers.google',
“Soll.缩略图”,
"仓库",,
“品牌”,
“卡奇尔”,
“类别”,
“爬虫”,
“交易”,
"特色",,
“面”,
"产品",,
"商店",,
“用户”,
‘util’)
已安装的中间件:
(“buyingiq.middleware.TimerMiddleware”,
“调试工具条.中间件.调试工具条中间件”,
“django.contrib.sessions.middleware.SessionMiddleware”,
'子域.middleware.SubdomainURLRoutingMiddleware',
'django.middleware.common.CommonMiddleware',
“django.middleware.csrf.CsrfViewMiddleware”,
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.xFrameOptions中间件',
'django_user_agents.middleware.UserAgentMiddleware',
'buyingiq.middleware.VisitorMiddleware')
模板错误:
在template/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site-packages/django/contrib/admin/templates/admin/includes/fieldset.html中,第19行出现错误
“NoneType”对象没有属性“\uuuu getitem\uuuu”
9:{第%行中的字段为%}
10 :
11:{%if not line.fields{124; length_是:'1'而不是field.is_readonly%}{{field.errors}{%endif%}
12:{%if field.is_checkbox%}
13:{field.field}{{field.label_tag}}
14:{%else%}
15:{field.label_tag}}
16:{%if field.is_readonly%}
17:{field.contents}linebreaksbr}
18:{%else%}
19:{field.field}
20:{%endif%}
21:{%endif%}
22:{%if-field.field.help_text%}
23:{{field.field.help_text | safe}
24:{%endif%}
25 :
26:{%endfor%}
27 :
28:{%endfor%}
29 :
回溯:
get_响应中的文件“/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site packages/django/core/handlers/base.py”
137response=response.render()
render中的文件“/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site packages/django/template/response.py”
105self.content=自渲染内容
呈现内容中的文件“/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site packages/django/template/response.py”
82content=template.render(上下文)
render中的文件“/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site packages/django/template/base.py”
140返回self.\u呈现(上下文)
文件“/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site packages/django/test/utils.py”在仪表化测试渲染中
85返回self.nodelist.render(上下文)
render中的文件“/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site packages/django/template/base.py”
840bit=self.render_节点(节点,上下文)
render_节点中的文件“/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site packages/django/template/debug.py”
78返回node.render(上下文)
render中的文件“/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site packages/django/template/loader_tags.py”
123返回编译的\u父对象。\u呈现(上下文)
文件“/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site packages/django/test/utils.py”在仪表化测试渲染中
85返回self.nodelist.render(上下文)
render中的文件“/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site packages/django/template/base.py”
840bit=self.render_节点(节点,上下文)
render_节点中的文件“/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site packages/django/template/debug.py”
78返回node.render(上下文)
render中的文件“/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site packages/django/template/loader_tags.py”
123返回编译的\u父对象。\u呈现(上下文)
文件“/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site packages/django/test/utils.py”在仪表化测试渲染中
85返回self.nodelist.render(上下文)
render中的文件“/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site packages/django/template/base.py”
840bit=self.render_节点(节点,上下文)
render_节点中的文件“/home/jaskaran/coding/buyingiq/buyingiq/venv/local/lib/python2.7/site packages/django/template/debug.py”
78返回node.render(上下文)
文件“/主页/jaska