django 管理站点导航侧边栏搞砸了
django admin site nav sidebar messed up
我最近向我的项目添加了一个包,然后做了一个 pip freeze > requirements.txt
。然后我在我的本地做了 pip install -r requirements.txt
,它添加了一个侧边栏。
我也对服务器进行了 pip install -r requirements.txt
操作,但产生了不同的结果。它的侧边栏被搞砸了。
我尝试通过此操作删除侧边栏 answer 但它没有被删除。
.toggle-nav-sidebar {
z-index: 20;
left: 0;
display: flex;
align-items: center;
justify-content: center;
flex: 0 0 23px;
width: 23px;
border: 0;
border-right: 1px solid var(--hairline-color);
background-color: var(--body-bg);
cursor: pointer;
font-size: 20px;
color: var(--link-fg);
padding: 0;
display: none; /*added*/
}
#nav-sidebar {
z-index: 15;
flex: 0 0 275px;
left: -276px;
margin-left: -276px;
border-top: 1px solid transparent;
border-right: 1px solid var(--hairline-color);
background-color: var(--body-bg);
overflow: auto;
display: none; /*added*/
}
我应该怎么做才能解决这个问题?
如果有任何其他我可以补充的帮助,请尽管询问。
添加 requirements.txt
:
asgiref==3.3.4
certifi==2020.12.5
chardet==4.0.0
defusedxml==0.7.1
diff-match-patch==20200713
Django==3.2.3
django-cors-headers==3.7.0
django-filter==2.4.0
django-import-export==2.5.0
django-property-filter==1.1.0
djangorestframework==3.12.4
et-xmlfile==1.0.1
idna==2.10
MarkupPy==1.14
odfpy==1.4.1
openpyxl==3.0.7
python-decouple==3.4
pytz==2019.2
PyYAML==5.4.1
requests==2.25.1
sqlparse==0.3.0
tablib==3.0.0
urllib3==1.26.4
xlrd==2.0.1
xlwt==1.3.0
添加样本github repo:
首先,这个导航栏是由 Django 3.1+
添加的,而不是由任何其他第 3 部分包添加的。
从 、
复制和粘贴
From the django-3.1 release
notes,
The admin now has a sidebar on larger screens for easier navigation.
It is enabled by default but can be disabled by using a custom
AdminSite and setting AdminSite.enable_nav_sidebar
to False
.
所以,这是 Django 3.1 中添加的功能,可以通过设置删除 AdminSite.enable_nav_sidebar = False
(参见 How to customize AdminSite
class)
如何修复不规则样式?
您不必编辑任何 CSS 或 HTML 文件来修复样式,因为 Django 带有一组新的 CSS 和 HTML, 通常 可以解决问题。 (也就是说,不建议更改样式文件仅此)
如果这对您不起作用,可能是因为您的浏览器缓存。
如果您正在使用 Chrome,
- 进入管理页面
Ctrl + Shift + i
和 select Network
选项卡然后勾选 Disable Cache
- 刷新页面
看到这个侧边栏是 django 3.1 添加的,它是可移动的
要删除它,您必须在 admin.py
或 urls.py
中添加以下代码,因为您正在与管理员一起工作,您应该在管理站点中添加以下代码
from django.contrib import admin
admin.autodiscover()
admin.site.enable_nav_sidebar = False
autodiscocer():此函数尝试在每个已安装的应用程序中导入管理模块
如果有效请告诉我
我最近向我的项目添加了一个包,然后做了一个 pip freeze > requirements.txt
。然后我在我的本地做了 pip install -r requirements.txt
,它添加了一个侧边栏。
我也对服务器进行了 pip install -r requirements.txt
操作,但产生了不同的结果。它的侧边栏被搞砸了。
我尝试通过此操作删除侧边栏 answer 但它没有被删除。
.toggle-nav-sidebar {
z-index: 20;
left: 0;
display: flex;
align-items: center;
justify-content: center;
flex: 0 0 23px;
width: 23px;
border: 0;
border-right: 1px solid var(--hairline-color);
background-color: var(--body-bg);
cursor: pointer;
font-size: 20px;
color: var(--link-fg);
padding: 0;
display: none; /*added*/
}
#nav-sidebar {
z-index: 15;
flex: 0 0 275px;
left: -276px;
margin-left: -276px;
border-top: 1px solid transparent;
border-right: 1px solid var(--hairline-color);
background-color: var(--body-bg);
overflow: auto;
display: none; /*added*/
}
我应该怎么做才能解决这个问题?
如果有任何其他我可以补充的帮助,请尽管询问。
添加 requirements.txt
:
asgiref==3.3.4
certifi==2020.12.5
chardet==4.0.0
defusedxml==0.7.1
diff-match-patch==20200713
Django==3.2.3
django-cors-headers==3.7.0
django-filter==2.4.0
django-import-export==2.5.0
django-property-filter==1.1.0
djangorestframework==3.12.4
et-xmlfile==1.0.1
idna==2.10
MarkupPy==1.14
odfpy==1.4.1
openpyxl==3.0.7
python-decouple==3.4
pytz==2019.2
PyYAML==5.4.1
requests==2.25.1
sqlparse==0.3.0
tablib==3.0.0
urllib3==1.26.4
xlrd==2.0.1
xlwt==1.3.0
添加样本github repo:
首先,这个导航栏是由 Django 3.1+
添加的,而不是由任何其他第 3 部分包添加的。
从
From the django-3.1 release notes,
The admin now has a sidebar on larger screens for easier navigation. It is enabled by default but can be disabled by using a custom AdminSite and setting
AdminSite.enable_nav_sidebar
toFalse
.
所以,这是 Django 3.1 中添加的功能,可以通过设置删除 AdminSite.enable_nav_sidebar = False
(参见 How to customize AdminSite
class)
如何修复不规则样式?
您不必编辑任何 CSS 或 HTML 文件来修复样式,因为 Django 带有一组新的 CSS 和 HTML, 通常 可以解决问题。 (也就是说,不建议更改样式文件仅此)
如果这对您不起作用,可能是因为您的浏览器缓存。
如果您正在使用 Chrome,
- 进入管理页面
Ctrl + Shift + i
和 selectNetwork
选项卡然后勾选Disable Cache
- 刷新页面
看到这个侧边栏是 django 3.1 添加的,它是可移动的
要删除它,您必须在 admin.py
或 urls.py
中添加以下代码,因为您正在与管理员一起工作,您应该在管理站点中添加以下代码
from django.contrib import admin
admin.autodiscover()
admin.site.enable_nav_sidebar = False
autodiscocer():此函数尝试在每个已安装的应用程序中导入管理模块
如果有效请告诉我