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

PythonAnywhere部署Django应用仅首页可用,其他页面报错求助

问题排查与解决方案

1. 先获取详细错误日志

PythonAnywhere部署时Django默认关闭DEBUG模式,不会显示具体错误信息。你需要:

  • 登录PythonAnywhere控制台,找到你的Web应用
  • 打开Error log文件,查看具体错误(比如404路径匹配失败、500服务器错误等),这是定位问题的核心依据

2. 修复导航链接的路径问题

当前nav.html里的链接用了硬编码相对路径(如href="contact"),当你在/home页面点击链接时,实际请求路径会变成/home/contact,而你的URL配置中没有这个路径,导致404错误。正确做法是用Django的URL反向解析:

修改nav.html:

<div class="topbar">
    <header>
        <li><a id="TOP_name" href="{% url 'home' %}"><img src="{%static 'prasant1.png' %}" height="50"></a></li>
    </header>
    <ul>
        <li><a id="right" href="{% url 'contact' %}">CONTACT</a></li>
        <li><a id="right" href="{% url 'resume' %}">RESUME</a></li>
        <li><a id="right" href="{% url 'work' %}">WORK</a></li>
        <li><a id="right" href="{% url 'experience' %}">EXPERIENCE</a></li>
        <li><a id="right" href="{% url 'education' %}">EDUCATION</a></li>
    </ul>
</div>

给URL配置添加名称(修改app的urls.py):

urlpatterns = [
    path('', views.home, name='home'),
    path('home', views.home, name='home'),
    path('work', views.work, name='work'),
    path('resume', views.Resume, name='resume'),
    path('education', views.education, name='education'),
    path('contact', views.contact, name='contact'),
    path('experience', views.experience, name='experience'),
]

3. 检查关键配置项

  • ALLOWED_HOSTS:在settings.py中添加你的PythonAnywhere域名,比如ALLOWED_HOSTS = ['your-username.pythonanywhere.com'],否则会返回400错误
  • 静态文件:确保已执行python manage.py collectstatic,将静态文件收集到STATIC_ROOT目录,且settings.py中STATIC_URL和STATIC_ROOT配置正确

4. 验证视图函数与代码一致性

确认views.py中的Resume函数拼写正确(Python大小写敏感),且部署到PythonAnywhere的代码与本地运行的代码完全一致

5. 重新加载Web应用

修改代码后,在PythonAnywhere的Web应用页面点击Reload按钮,让新配置生效

内容的提问来源于stack exchange,提问作者Prasant Kumar Pradhan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 08:37:33