如何在Django网站上添加两个应用程序/页面?

时间:2017-04-13 07:38:41

标签: django web python-3.5

我现在已经尝试了两次将第二个应用程序添加到我的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'的模块

2 个答案:

答案 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,你很高兴!