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

Django创建contact页面遇ModuleNotFoundError错误求助

问题分析与解决方案

错误ModuleNotFoundError: No module named 'contact'的核心原因是:你在项目根URL配置中尝试引入contact.urls,但实际上并没有创建名为contact的Django应用,你的contact视图逻辑是放在btestinfo应用中的。


快速修复方案(无需新增应用)

修改项目根目录的urls.py,将原本的include("contact.urls")替换为直接指向btestinfo应用的contact视图:

from django.contrib import admin
from django.urls import path, include
from btestinfo import views  # 导入btestinfo应用的视图模块

urlpatterns = [
    path("admin/", admin.site.urls),
    path("btestinfo/", include("btestinfo.urls")),
    path("contact/", views.contact, name='contact')  # 直接映射到已有的contact视图
]

修改完成后,访问http://127.0.0.1:8000/contact即可正常加载对应的contact.html页面。


规范拆分方案(独立contact应用)

如果希望将联系功能独立为单独的应用,按以下步骤操作:

  1. 创建contact应用,在项目根目录执行命令:
python manage.py startapp contact
  1. 在项目settings.py的INSTALLED_APPS中添加该应用:
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'btestinfo',
    'contact',  # 新增contact应用
]
  1. 将btestinfo/views.py中的contact函数迁移到contact/views.py:
from django.shortcuts import render

def contact(request):
    return render(request, 'contact/contact.html')
  1. 创建contact/urls.py文件,添加路由配置:
from django.urls import path
from . import views

urlpatterns = [
    path('', views.contact, name='contact'),
]
  1. 调整模板路径:将原btestinfo/templates/btestinfo/contact.html移动到contact/templates/contact/contact.html
  2. 保持项目根urls.py中path("contact/", include("contact.urls"))的配置不变,此时访问http://127.0.0.1:8000/contact即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 20:49:55