修改Django Admin字段verbose_name和help_text后不生效问题
问题解决步骤
1. 修复Admin类的缩进错误
你的admin.py代码存在缩进问题:pass语句独占了ProjectAdmin类的内容,后续的list_display、fieldsets等配置都定义在类外部,Django Admin根本不会读取这些配置,导致字段显示仍用默认值。
修正后的admin.py代码:
from django.contrib import admin from .models import Project # 确保导入对应模型 class ProjectAdmin(admin.ModelAdmin): list_display = ('title', 'date', 'category', 'source') list_filter = ('date', 'category', 'source') search_fields = ('title', 'description') ordering = ['-date', 'title'] date_hierarchy = 'date' fieldsets = ( (None, { 'fields': ('title','subtitle', 'description', 'image', 'date', 'video_url', 'source', 'category', 'slug') }), ) prepopulated_fields = {'slug': ('title',)} admin.site.register(Project, ProjectAdmin) # 确保注册模型与Admin类
2. 重启Django应用进程
部署在Nginx环境下,通常用Gunicorn/uWSGI作为应用服务器,修改代码后必须重启进程才能加载新代码:
- 若用Gunicorn:执行
sudo systemctl restart gunicorn - 若用uWSGI:执行
uwsgi --reload /path/to/your/uwsgi.pid(替换为你的uWSGI pid文件路径)
3. 清理缓存
- 清理Django内部缓存:
python manage.py clearcache - 强制刷新浏览器页面(Ctrl+F5),避免浏览器缓存旧的Admin页面内容
4. 验证迁移(可选)
虽然修改verbose_name和help_text通常不需要数据库迁移,但如果以上步骤无效,可尝试生成空迁移并应用,确保数据库元数据同步:
python manage.py makemigrations python manage.py migrate
内容的提问来源于stack exchange,提问作者Vicente Zurita
相关产品推荐
相关产品推荐

