我无法在管理控件中显示 collapse
fieldset . 最重要的是,每当我进入管理控件时,我偶尔也会出现加载错误,这似乎只是出现 . 我无法将错误拼凑起来推测导致问题的原因,但是当我在 admin.py
中包含所包含的代码时,我似乎只能重现它 .
管理员布局错误
admin.py
from forum.models import Category, Thread, Post
from django.contrib import admin
class PostAdmin(admin.ModelAdmin):
fieldsets = [
(None, {'fields': ['author']}),
(None, {'fields': ['thread']}),
(None, {'fields': ['creation_date']}),
(None, {'fields': ['content'], 'classes': ['collapse']}),
(None, {'fields': ['is_removed']}),
(None, {'fields': ['agrees'], 'classes': ['collapse']}),
(None, {'fields': ['thanks'], 'classes': ['collapse']}),
(None, {'fields': ['saves'], 'classes': ['collapse']}),
]
admin.site.register(Post, PostAdmin)
(偶然)错误
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\django\core\servers\basehttp.py", line 284, in run
self.finish_response()
File "C:\Python27\lib\site-packages\django\core\servers\basehttp.py", line 324, in finish_response
self.write(data)
File "C:\Python27\lib\site-packages\django\core\servers\basehttp.py", line 403, in write
self.send_headers()
File "C:\Python27\lib\site-packages\django\core\servers\basehttp.py", line 467, in send_headers
self.send_preamble()
File "C:\Python27\lib\site-packages\django\core\servers\basehttp.py", line 385, in send_preamble
'Date: %s\r\n' % http_date()
File "C:\Python27\lib\socket.py", line 324, in write
self.flush()
File "C:\Python27\lib\socket.py", line 303, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 10053] An established connection was aborted by the software in your host machine
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 64523)
Traceback (most recent call last):
File "C:\Python27\lib\SocketServer.py", line 284, in _handle_request_noblock
self.process_request(request, client_address)
File "C:\Python27\lib\SocketServer.py", line 310, in process_request
self.finish_request(request, client_address)
File "C:\Python27\lib\SocketServer.py", line 323, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Python27\lib\site-packages\django\core\servers\basehttp.py", line 570, in __init__
BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
File "C:\Python27\lib\SocketServer.py", line 641, in __init__
self.finish()
File "C:\Python27\lib\SocketServer.py", line 694, in finish
self.wfile.flush()
File "C:\Python27\lib\socket.py", line 303, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 10053] An established connection was aborted by the software in your host machine
可能导致这种情况的任何想法?
EDIT: 仔细检查后,即使折叠的字段被注释掉,错误仍然存在 . 布局问题可能与此错误有关或完全分开 . 显然,我希望看到两者都是固定的 .
这是看似不同的错误:
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\django\core\servers\basehttp.py", line 284, in run
self.finish_response()
File "C:\Python27\lib\site-packages\django\core\servers\basehttp.py", line 324, in finish_response
self.write(data)
File "C:\Python27\lib\site-packages\django\core\servers\basehttp.py", line 403, in write
self.send_headers()
File "C:\Python27\lib\site-packages\django\core\servers\basehttp.py", line 467, in send_headers
self.send_preamble()
File "C:\Python27\lib\site-packages\django\core\servers\basehttp.py", line 385, in send_preamble
'Date: %s\r\n' % http_date()
File "C:\Python27\lib\socket.py", line 324, in write
self.flush()
File "C:\Python27\lib\socket.py", line 303, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 10053] An established connection was aborted by the software in your host machine
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 50055)
Traceback (most recent call last):
File "C:\Python27\lib\SocketServer.py", line 284, in _handle_request_noblock
self.process_request(request, client_address)
File "C:\Python27\lib\SocketServer.py", line 310, in process_request
self.finish_request(request, client_address)
File "C:\Python27\lib\SocketServer.py", line 323, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Python27\lib\site-packages\django\core\servers\basehttp.py", line 570, in __init__
BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
File "C:\Python27\lib\SocketServer.py", line 641, in __init__
self.finish()
File "C:\Python27\lib\SocketServer.py", line 694, in finish
self.wfile.flush()
File "C:\Python27\lib\socket.py", line 303, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 10053] An established connection was aborted by the software in your host machine
和相关 admin.py
:
from forum.models import Category, Thread, Post
from django.contrib import admin
class ThreadAdmin(admin.ModelAdmin):
"Thread layout in the admin control panel."
# Actions
def admin_lock(self, request, queryset):
rows_updated = queryset.update(is_locked=True)
if rows_updated == 1:
message_bit = "1 thread was"
else:
message_bit = "%s threads were" % rows_updated
self.message_user(request, "%s successfully marked as locked" % message_bit)
admin_lock.short_description = "Lock selected threads"
def admin_unlock(self, request, queryset):
rows_updated = queryset.update(is_locked=False)
if rows_updated == 1:
message_bit = "1 thread was"
else:
message_bit = "%s threads were" % rows_updated
self.message_user(request, "%s successfully marked as unlocked" % message_bit)
admin_unlock.short_description = "Unlock selected threads"
def admin_remove(self, request, queryset):
rows_updated = queryset.update(is_removed=True)
if rows_updated == 1:
message_bit = "1 thread was"
else:
message_bit = "%s threads were" % rows_updated
self.message_user(request, "%s successfully marked as removed" % message_bit)
admin_remove.short_description = "Remove selected threads"
def admin_restore(self, request, queryset):
rows_updated = queryset.update(is_removed=False)
if rows_updated == 1:
message_bit = "1 thread was"
else:
message_bit = "%s threads were" % rows_updated
self.message_user(request, "%s successfully marked as restored" % message_bit)
admin_restore.short_description = "Restore selected threads"
actions = ['admin_lock', 'admin_unlock',
'admin_remove', 'admin_restore']
date_hierarchy = 'creation_date'
list_display = ('title', 'category', 'author',
'relative_date', 'creation_date')
list_filter = ('category',) # Doesn't work
search_fields = ['title', 'author']
class PostAdmin(admin.ModelAdmin):
"Post layout in the admin control panel."
# Actions
def admin_remove(self, request, queryset):
rows_updated = queryset.update(is_removed=True)
if rows_updated == 1:
message_bit = "1 post was"
else:
message_bit = "%s posts were" % rows_updated
self.message_user(request, "%s successfully marked as removed" % message_bit)
admin_remove.short_description = "Remove selected posts"
def admin_restore(self, request, queryset):
rows_updated = queryset.update(is_removed=False)
if rows_updated == 1:
message_bit = "1 post was"
else:
message_bit = "%s posts were" % rows_updated
self.message_user(request, "%s successfully marked as restored" % message_bit)
admin_restore.short_description = "Restore selected threads"
actions = ['admin_remove', 'admin_restore']
date_hierarchy = 'creation_date'
list_display = ('thread', 'author',
'relative_date', 'creation_date')
list_filter = ('thread',)
search_fields = ['thread', 'author']
admin.site.register(Category)
admin.site.register(Thread, ThreadAdmin)
admin.site.register(Post, PostAdmin)
1 回答
问题是这(和类似)线:
当字段集 Headers 为
None
时,没有字段集 Headers ,因此无需单击以展开字段集 . 在Django bug跟踪器中This comment,虽然很老,但表示不使用 Headers 和collapse
是一个坏主意(tm)而你"just shouldn't do that."至于你的其他问题,你的操作系统存在某种形式的问题 . 它只是意味着 Build 了一个连接(到你的Python服务器),但是你的计算机(你的主机)在Python完成它之前就终止了连接 .
这个问题有点陈旧但是对于像“django fieldset collapse不起作用”这样的搜索结果仍然相当高,所以我想我可能会为未来的搜索者回答这个问题 .