我很高兴昨天和我的网址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">
这就是我目前的应用程序结构。请帮助我走上正确的轨道。谢谢。
你的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
的目录)中,那么您将从导入,mysite
和include()
中删除INSTALLED_APPS
。
from search.filters import UserFilter
urlpatterns = [
...
url(r'^search/', include('search.urls')),
]