添加项目URL后没有名为search的模块

问题描述 投票:0回答:1

我很高兴昨天和我的网址Adding an additional template to an existing project errors out就这个问题与某人合作,但在尝试了所有建议之后,我仍然处于同样的境地。

我的项目名为mysite,我的应用程序是搜索。

有人建议将以下内容添加到我的项目urls.py中

url(r'^search/', include('search.urls')),

这样做时我得到错误ModuleNotFoundError:没有名为'search'的模块。

我的项目urls.py如下:

from django.conf.urls import url, include
from django.contrib import admin
from django.views.generic import TemplateView
from django_filters.views import FilterView
from mysite.search.filters import UserFilter


urlpatterns = [
    url(r'^$', TemplateView.as_view(template_name='home.html'), name='home'),
    url(r'^search/$', FilterView.as_view(filterset_class=UserFilter, template_name='search/user_list.html'), name='search'),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^search/', include('search.urls')),
]

我正在尝试将以下内容添加到我的应用urls.py中

from django.conf.urls import url, include
from django.contrib import admin
from django.views.generic import TemplateView
from django_filters.views import FilterView
from mysite.search.filters import UserFilter
from . import views


urlpatterns = [
    url(r'^results/$', views.results, name='results'),
]

对于定义为的结果,我有一个空视图

def results(request):

    return render(request, 'results.html')

当我尝试将以下POST添加到我的表单中以获得结果时,它会在第一篇文章中给出错误。当我在app.urls.py中有结果网址时

  <form action = "{% url 'results' %}" form method = "POST">

这就是我目前的应用程序结构。请帮助我走上正确的轨道。谢谢。

enter image description here

django
1个回答
0
投票

你的search目录在你的mysite目录中(包含settings.py的目录。这意味着你应该包括mysite.search.urls(就像你在导入和mysite.search中使用INSTALLED_APPS一样)。

from mysite.search.filters import UserFilter

urlpatterns = [
    ...
    url(r'^search/', include('mysite.search.urls')),
]

如果您的search目录在您的项目目录(包含manage.py的目录)中,那么您将从导入,mysiteinclude()中删除INSTALLED_APPS

from search.filters import UserFilter

urlpatterns = [
    ...
    url(r'^search/', include('search.urls')),
]
© www.soinside.com 2019 - 2024. All rights reserved.