django在生产环境下admin样式丢失的解决记录

弄了一个django的后台管理数据,但是admin的样式在生产环境下就是丢失,按f12后各种提示:

什么strict MIME type checking is enabled.错误等等。

什么提示404错误。

网上搜索解决方案一大堆,就是不得要领。

由于不想弄的太复杂,后端的服务器直接弄的uwsgi,思索半天也不知道该如何处理那个404,按照网上的说法,collectstatic也弄,uwsgi里面的static-map也设置了,但是仍然提示404。

由于是反向代理,也没办法从浏览器中直接访问地址来解决。

突然想到可以用 curl [URL] 命令来本地访问查看地址,于是尝试了下发现是前缀设置错误。

uwsgi这里要注意设置的前缀与apache或者nginx代理里面的前缀要保持一致,也最好能够与settings厘米的,否则就会出现404错误。

  uwsgi.ini

 settings.py

 000-default.conf

<think>嗯,用户想了解Django用户登录到admin后台管理系统的配置和实现方法。首先,我需要回忆一下Djangoadmin模块是如何工作的。根据引用[1],Djangoadmin后台是自动生成的,而且高度可定制,这一点很重要。用户可能需要知道如何启用admin,创建超级用户,注册模型,以及如何自定义管理页面。 首先,用户需要确认是否在项目中启用了admin应用。Django默认会启用,但有时候可能会被误关闭。引用[2]提到在INSTALLED_APPS里要有'django.contrib.admin',所以需要检查settings.py文件。然后,创建超级用户是必须的,使用命令python manage.py createsuperuser,这在引用[5]中有提到。这一步是为了让用户有权限登录后台。 接下来,注册模型到admin后台。引用[2]和引用[3]都提到了在admin.py中使用admin.site.register(模型类)来注册模型。例如,用户可能有自己的LoginUser模型,需要在admin.py中导入并注册,这样在后台才能看到和管理这些数据。 然后,关于自定义管理页面,引用[4]指出可以通过修改模型的显示方式、添加过滤器和搜索字段来增强功能。比如,在admin类中定义list_display、list_filter等属性。这可能涉及到继承admin.ModelAdmin并自定义设置,这样用户的后台管理会更高效。 另外,用户可能需要处理自定义用户认证的问题。如果用户使用的是Django内置的User模型,可以直接使用;如果有自定义用户模型,需要确保模型正确设置,并在admin中注册。引用[3]提到使用simpleUI进行美化,但用户的问题主要是登录配置,所以可能不需要深入这部分,但可以提及作为扩展知识。 还有,登录后的界面可能会有默认的显示,用户可能需要调整。比如,设置后台的标题和页头,这可以通过在admin.py中定义AdminSite的属性来实现,如引用[3]中的例子所示。 需要确保urls.py中包含admin的路由,引用[1]提到admin的路由是自动生成的,所以检查urlpatterns是否包含path('admin/', admin.site.urls)很重要。如果用户无法访问admin页面,可能是路由配置的问题。 最后,常见问题可能包括无法登录,这时候需要检查用户是否激活了超级用户状态,或者是否有正确的权限。另外,静态文件未正确加载可能导致后台样式丢失,需要运行collectstatic命令。 总结步骤应该是:启用admin应用,创建超级用户,注册模型,自定义管理类,配置URL,处理登录认证,以及可能的自定义设置。需要将这些步骤以清晰的顺序呈现给用户,并确保每个部分都有对应的引用支持,如引用[2]关于注册模型,引用[5]关于创建用户等。</think>### Django用户登录admin后台配置与实现步骤 #### 一、启用Admin后台 1. **确认Admin应用已启用** 在Django项目的`settings.py`文件中,确保`INSTALLED_APPS`包含`django.contrib.admin`: ```python INSTALLED_APPS = [ # ... 'django.contrib.admin', # ... ] ``` 这是Django默认配置,若未改动可直接使用[^1]。 2. **配置Admin路由** 在项目的`urls.py`中添加Admin路由: ```python from django.contrib import admin from django.urls import path urlpatterns = [ path('admin/', admin.site.urls), # 其他路由... ] ``` 此配置允许通过`/admin/`路径访问后台[^1]。 --- #### 二、创建超级用户 1. **生成管理员账户** 在终端运行以下命令创建超级用户: ```bash python manage.py createsuperuser ``` 按提示输入用户名、邮箱和密码[^5]。 2. **验证登录** 访问`http://localhost:8000/admin/`,使用刚创建的账户登录,即可进入Admin后台。 --- #### 三、注册模型到Admin 1. **基本模型注册** 在应用的`admin.py`文件中,通过`admin.site.register()`注册模型。例如: ```python from django.contrib import admin from .models import LoginUser # 假设有自定义用户模型 admin.site.register(LoginUser) # 注册到后台 ``` 注册后,后台界面会显示该模型的管理入口[^2]。 2. **自定义模型管理类** 通过继承`admin.ModelAdmin`自定义显示字段、过滤条件等: ```python class LoginUserAdmin(admin.ModelAdmin): list_display = ('username', 'email', 'is_staff') # 列表显示字段 list_filter = ('is_staff',) # 添加过滤器 search_fields = ('username', 'email') # 添加搜索功能 admin.site.register(LoginUser, LoginUserAdmin) ``` 此配置增强后台管理功能,提升操作效率[^4]。 --- #### 四、自定义Admin后台 1. **修改后台标题和页头** 在`admin.py`中添加以下代码: ```python admin.site.site_header = "我的管理后台" # 修改页头标题 admin.site.site_title = "后台管理系统" # 修改浏览器标签标题 ``` 2. **扩展用户认证逻辑(可选)** 若需自定义用户认证(如添加验证码或第三方登录),可修改登录视图: ```python from django.contrib.admin.views.decorators import staff_member_required from django.contrib.auth.views import LoginView class CustomLoginView(LoginView): template_name = 'admin/custom_login.html' # 自定义登录模板 admin.site.login = CustomLoginView.as_view() # 覆盖默认登录页 ``` --- #### 五、常见问题 1. **无法登录后台** - 确认用户已勾选`is_staff`和`is_superuser`权限。 - 检查`AUTHENTICATION_BACKENDS`配置是否包含`django.contrib.auth.backends.ModelBackend`。 2. **静态文件加载失败** 运行`python manage.py collectstatic`收集静态文件,确保后台样式正常显示。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值