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

Django页面异常:旧页面及新创建页面无法显示问题求助

Django页面无法正常显示问题排查

问题描述

我最初在Django中创建了首页、关于我们、联系我们、博客等页面,之后新增了商城页面。但现在部分旧页面(关于我们、联系我们、博客)无法正常显示,新创建的页面也加载异常——尽管views、urls等配置都没问题。我试过修改视图、调整模板语法等方法,问题仍未解决。

相关页面状态截图:

  • 旧页面(无法显示状态)
  • 旧页面(无法显示状态)
  • 商城页面
  • 新页面(无法显示状态)

以下是联系我们页面的模板代码:

{% extends 'base.html' %}
{% block content %}
{% load static%}

<link rel="stylesheet" href="/static/css/contact_us.css">

<section>
    
    <div class="section-header">
      
        <h2>Contact Us</h2>
        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>
      
    </div>
    
    <div class="container">
      
        <div class="contact-info">
          <div class="contact-info-item">
            <div class="contact-info-icon">
              <i class="fas fa-home"></i>
            </div>
            
            <div class="contact-info-content">
              <h4>Address</h4>
              <p>Jankpuri South,<br/> New Delhi, India, <br/>55060</p>
            </div>
          </div>
          
          <div class="contact-info-item">
            <div class="contact-info-icon">
              <i class="fas fa-phone"></i>
            </div>
            
            <div class="contact-info-content">
              <h4>Phone</h4>
              <p>571-457-2321</p>
            </div>
          </div>
          
          <div class="contact-info-item">
            <div class="contact-info-icon">
              <i class="fas fa-envelope"></i>
            </div>
            
            <div class="contact-info-content">
              <h4>Email</h4>
              <p>support@shemade.com</p>
            </div>
          </div>
        </div>
        
        <div class="contact-form">
          <form action="" id="contact-form">
            <h2>Send Message</h2>
            <div class="input-box">
              <input type="text" required="true" name="">
              <span>Full Name</span>
            </div>
            
            <div class="input-box">
              <input type="email" required="true" name="">
              <span>Email</span>
            </div>
            <div class="input-box">
                <input type="number" required="true" name="">
                <span>Contact No.</span>
              </div>
            
            <div class="input-box">
              <textarea required="true" name=""></textarea>
              <span>Type your Message...</span>
            </div>
            
            <div class="input-box">
              <input type="submit" value="Send" name="">
            </div>
          </form>
        
        
      </div>
    </div>
  </section>

{% endblock %}

排查解决方案

1. 检查URL路由冲突

新增商城页面时容易出现路由覆盖问题:

  • 核对项目根urls.py和各app的urls.py,确保旧页面的路由没有被商城的通配符路由(如path('', ...))抢占
  • 调整路由顺序,Django按从上到下匹配路由,把具体页面的路由放在通配符路由之前
  • 安装django-extensions后运行python manage.py show_urls,查看所有已注册路由,确认目标页面的路由存在且正确

2. 验证模板继承逻辑

  • 检查base.html是否存在{% block content %}{% endblock %}块,且未被其他自定义块覆盖
  • 把{% load static %}移到{% extends 'base.html' %}之后、其他内容之前,避免静态文件加载异常
  • 临时注释掉contact_us.css的引用,测试页面是否能正常渲染,排除CSS导致的布局失效

3. 确认静态文件配置

  • 检查settings.py中的STATIC_URL、STATICFILES_DIRS、STATIC_ROOT配置是否正确,新增商城后是否被修改
  • 生产环境下运行python manage.py collectstatic,确保静态文件被正确收集到指定目录
  • 打开浏览器控制台的Network标签,查看contact_us.css的加载状态,是否返回404错误

4. 排查视图函数异常

  • 在旧页面的视图函数中添加print()或断点,确认视图是否被正常调用
  • 检查视图是否返回了正确的HttpResponse或TemplateResponse,没有遗漏返回逻辑
  • 确认视图中没有新增的异常捕获代码,导致页面无内容输出

5. 清除缓存

  • 运行python manage.py clearcache清除Django内置缓存
  • 按Ctrl+F5强制刷新浏览器,清除本地缓存

内容的提问来源于stack exchange,提问作者Indrajeet Singh Yadav

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 03:21:07