You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django更新页面传入主键参数时CSS加载异常,其余页面运行正常

问题根因

你遇到的样式加载异常是因为base.html中所有静态资源使用了相对路径../static/引用:

  • 不带pk参数时,页面路由大概率是/update_lead/,相对路径../static/会解析为域名根目录下的/static/,路径正确可正常加载资源
  • 带pk参数时,页面路由变成/update_lead/[id值]/,相对路径../static/会解析为/update_lead/static/,该路径不存在,所以静态资源全部404,页面无样式

解决步骤

  1. 先确认项目settings.py中已经配置了正确的静态资源路径,通常默认配置即可:
STATIC_URL = '/static/'
# 开发环境如果有额外静态文件目录可补充配置
STATICFILES_DIRS = [BASE_DIR / 'static']
  1. 修改base.html模板:
    首先在模板最顶部加载Django静态资源标签:
    {% load static %}
    
    将所有静态资源的相对路径引用,全部替换为Django提供的static模板标签写法,示例:
    原错误写法:
    <link href="../static/elegant/vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
    <script src="../static/elegant/vendor/jquery/jquery.min.js"></script>
    
    替换后正确写法:
    <link href="{% static 'elegant/vendor/fontawesome-free/css/all.min.css' %}" rel="stylesheet" type="text/css">
    <script src="{% static 'elegant/vendor/jquery/jquery.min.js' %}"></script>
    
    所有CSS、JS资源的引用都按上述规则替换即可。

额外代码优化提醒

你的视图代码中查询集调用漏了括号,会导致后续遍历数据出错:

# 错误写法
followup = Followup.objects.all
agent = Agent.objects.all
source = Source.objects.all
# 正确写法
followup = Followup.objects.all()
agent = Agent.objects.all()
source = Source.objects.all()

内容的提问来源于stack exchange,提问作者sarangkkl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 19:54:03