如何解决“ ...不是注册的名称空间” Django 2.1错误

时间:2019-03-31 16:12:00

标签: python django

因此我使用Django 2.1和Im构建Im和简单的Mooc平台时遇到了问题。

Here您可以找到我的整个项目,但无法描述上述所有情况,here您可以找到整个Django错误的打印屏幕。

所以我有一个名为TamerMooc的项目,该项目有2个应用程序。核心应用和课程应用。

这是/courses/views.py文件:

from django.shortcuts import render, get_object_or_404
from .models import Course

def index(request):
    courses = Course.objects.all()
    template_name = 'courses/index.html'
    context = {
        'courses':courses
    }
    return render(request, template_name, context)


def details(request, slug):

    course = get_object_or_404(Course, slug=slug)
    template_name = 'courses/details.html'
    context = {
        'course': course
    }
    return render(request, template_name, context)

这是/courses/urls.py文件:


from django.contrib import admin
from django.urls import path
from . import views

urlpatterns = [
    path('',views.index ,name='index'),
    path('<slug:slug>', views.details , name='details'),
]

至少错误文件中引用的/core/templates/base.html文件。

<!doctype html>
{% load static %}
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="Simple MOOC - Uma simples plataforma de ensino a distância" />
    <title>Tâmer MOOC</title>
    <link rel="stylesheet" href="http://yui.yahooapis.com/pure/0.3.0/pure-min.css">
    <link rel="stylesheet" href="{% static 'css/styles.css' %}" />
</head>
<body>

    <div class="header">
        <div class="pure-menu pure-menu-open pure-menu-fixed pure-menu-horizontal">
            <a class="pure-menu-heading" href="{% url 'home' %}">TÂMER MOOC</a>
            <ul>
                <li class="pure-menu-selected"><a href="{% url 'home' %}">Início</a></li>
                <li><a href="{% url 'index' %}">Cursos</a></li>
                <li><a href="{% url 'contact' %}"}>Contato</a></li>
            </ul>
        </div>
    </div>
    <div class = "content">
        {% block content %}{% endblock %}

        <div class="footer">
            Tâmer MOOC - Uma simples plataforma de ensino a distância
        </div>

    </div>
<script src="http://yui.yahooapis.com/3.12.0/build/yui/yui-min.js"></script>
</body>
</html>

我真的在这里读到了很多关于类似错误的问题,但是找不到解决方法。

1 个答案:

答案 0 :(得分:0)

我认为问题是here

 <a href=" {{ course.get_absolute_url }}  "> <!--- {% url 'courses:details' course.slug %}--->
                                             ^^^^^                                        ^^^^

在Django模板中,注释无法以这种方式工作。如果您想注释掉某些内容,请执行以下操作:

{% comment %}
    {% url 'courses:details' course.slug %}
{% endcomment %}

{# url 'courses:details' course.slug #}

可以找到相关文档here