我现在已经尝试了两次将第二个应用程序添加到我的Django网站上,但它会导致某种错误。
我已经按照youtube的说明提供了很大帮助,但现在我不得不添加第二页。我的第一个工作正常。
这是我的主要url.py:
from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^table/', include('table.urls')),
url(r'^', include('login.urls')),
]
这是我的主要settings.py:
INSTALLED_APPS = [
'login',
'table',
....
TEMPLATES = [
{
'BACKEND': 'django.templates.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.templates.context_processors.debug',
'django.templates.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
这是我的工作页面url.py:
from django.conf.urls import url, include
from . import views
urlpatterns = [
url(r'^$', views.index, name='index'),
]
这是我的工作页面view.py:
from django.shortcuts import render
def index(request):
return render(request,'login/login.html', {'content': ['username',
'password']} )
这是我的非工作页面url.py:
from django.conf.urls import url, include
from . import views
urlpatterns = [
url(r'^$', views.index, name = 'index'),
]
这是我的非工作页面view.py:
from django.shortcuts import render
from django.http import HttpResponse
def index(request):
return render(request,'table/table.html')
到目前为止,我一直认为索引(请求)是一个问题,因为它们都具有名称“view”和相同的函数名称......?
而且我不知道在哪里看“错误页面”也不知道向你们展示什么,对不起。我感谢任何帮助。谢谢。
“在处理上述异常('django')期间,发生了另一个异常:
内部的C:\ python36 \ lib \ site-packages \ django \ core \ handlers \ exception.py
response = get_response(request)...
▼本地变种
变量值
EXC
ModuleNotFoundError(“没有名为'django.templates'的模块”,)
get_response
>>>
>
请求
“
编辑:我已经命名了所有模板文件夹模板。虽然我在第二个应用程序中创建它时错误地将其命名为s但是它通过重构而改变了。
我认为现在这是我的错误:
异常类型:/的ModuleNotFoundError 异常值:没有名为'django.templates'的模块
答案 0 :(得分:0)
在你的urls.py中,像这样指定app_name:
# ...imports...
app_name = 'tables'
urlpatterns = [
#...
]
然后您的模板可以通过表格访问网址的名称:index
答案 1 :(得分:0)
错误消息表明你指的是django.templates。 django中不存在此模块,但django.template会存在。您可以在settings.py文件中找到几个django.template.x语句。
用django.template.x替换django.templates.x,你很高兴!