Python ';ContentCreateUpdateView';对象没有属性';模块id';

Python ';ContentCreateUpdateView';对象没有属性';模块id';,python,django,python-3.x,django-views,mixins,Python,Django,Python 3.x,Django Views,Mixins,我正在学习这本书的教程 在我看到这里之前,一切都很好 当我单击包含下面视图链接的页面时,控制台返回下面的问题。 (在下面的HTML中,其链接为“管理内容”) 完全错误回溯 Traceback (most recent call last): File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, i

我正在学习这本书的教程

在我看到这里之前,一切都很好

当我单击包含下面视图链接的页面时,控制台返回下面的问题。 (在下面的HTML中,其链接为“管理内容”)

完全错误回溯

Traceback (most recent call last):
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/core/handlers/base.py", line 156, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/core/handlers/base.py", line 154, in _get_response
    response = response.render()
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/response.py", line 106, in render
    self.content = self.rendered_content
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/response.py", line 83, in rendered_content
    content = template.render(context, self._request)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/base.py", line 171, in render
    return self._render(context)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/base.py", line 163, in _render
    return self.nodelist.render(context)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/base.py", line 937, in render
    bit = node.render_annotated(context)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/loader_tags.py", line 150, in render
    return compiled_parent._render(context)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/base.py", line 163, in _render
    return self.nodelist.render(context)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/base.py", line 937, in render
    bit = node.render_annotated(context)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/loader_tags.py", line 62, in render
    result = block.nodelist.render(context)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/base.py", line 937, in render
    bit = node.render_annotated(context)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/defaulttags.py", line 512, in render
    return self.nodelist.render(context)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/base.py", line 937, in render
    bit = node.render_annotated(context)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/defaulttags.py", line 209, in render
    nodelist.append(node.render_annotated(context))
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/base.py", line 904, in render_annotated
    return self.render(context)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/template/defaulttags.py", line 442, in render
    url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/urls/base.py", line 90, in reverse
    return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
  File "/Users/macadmin/Documents/Django_wapps/welearn/lib/python3.7/site-packages/django/urls/resolvers.py", line 622, in _reverse_with_prefix
    raise NoReverseMatch(msg)
django.urls.exceptions.NoReverseMatch: Reverse for 'module_content_list' with no arguments not found. 1 pattern(s) tried: ['module/(?P<module_id>[0-9]+)/$']
list.html

{% extends "base.html" %}

{% block title %}My Courses{% endblock %}

{% block content %}
    <h1>My courses</h1>
<div class="module">
    {% for course in object_list %}
        <div class="course-info mt-5 ml-3">
            <h3>{{ course.title }}</h3>
            <p>
                <a href="{% url 'core:course_edit' course.id %}">Edit</a>
                <a href="{% url 'core:course_delete' course.id %}">Delete</a>
                <a href="{% url 'core:course_module_update' course.id %}">Edit modules</a>
                {% if course.modules.count > 0%}
                    <a href="{% url 'core:module_content_list' course.modules.first.id %}">Manage contents</a>
                {% endif %}
            </p>
        </div>
    {% empty %}
        <p>You haven't created any courses yet.</p>
    {% endfor %} 
    <p>
        <a href="{% url 'core:course_create' %}" class="button">Create new course</a>
    </p>
</div>
{% endblock %}
{%extends“base.html”%}
{%block title%}我的课程{%endblock%}
{%block content%}
我的课程
{对象列表%中的课程的百分比}
{{course.title}

{%如果course.modules.count>0%}
{%endif%}

{%empty%} 您尚未创建任何课程

{%endfor%}

{%endblock%}
url.py

urlpatterns = [
    path('', views.ManagerCourseListView.as_view(), name='manage_course_list'),
    path('create/', views.CourseCreateView.as_view(), name='course_create'),
    path('<pk>/edit/', views.CourseUpdateView.as_view(), name='course_edit'),
    path('<pk>/delete/', views.CourseDeleteView.as_view(), name='course_delete'),
    path('<pk>/module/', CourseModuleUpdateView.as_view(), name='course_module_update'),
    path('module/<int:module_id>/content/<model_name>/create/', views.ContentCreateUpdateView.as_view(),
        name='module_content_create'),
    path('module/<int:module_id>/content/<model_name>/<id>/', views.ContentCreateUpdateView.as_view(),
        name='module_content_update'),
    path('content/<int:id>/delete/', views.ContentDeleteView.as_view(), name='module_content_delete'),
    path('module/<int:module_id>/', views.ModuleContentListView.as_view(), name='module_content_list'),
]
urlpatterns=[
路径(“”,views.ManagerCourseListView.as_view(),name='manage_course_list'),
路径('create/',views.CourseCreateView.as_view(),name='course_create'),
路径('/edit/',views.CourseUpdateView.as_view(),name='course_edit'),
路径('/delete/',views.CourseDeleteView.as_view(),name='course_delete'),
路径('/module/',CourseModuleUpdateView.as_view(),name='course'u module_update'),
路径('module//content//create/',views.ContentCreateUpdateView.as_view(),
name='module\u content\u create'),
路径('module//content//',views.ContentCreateUpdateView.as_view(),
name='module\u content\u update'),
路径('content//delete/',views.ContentDeleteView.as_view(),name='module_content_delete'),
路径('module/',views.ModuleContentListView.as_view(),name='module_content_list'),
]
如果有人曾经经历过,请帮我一把

我目前正在使用django 2.1和python 3.7


谢谢

模块内容列表名的路径在哪里?@givejob我刚刚用上面请求的路径更新了整个url.py。请告诉我您是否能够解决它。course.modules.first.id包含值还是无值?当前为无,我刚刚用
{%如果course.modules.count>0%}
静止nothing@alasdair你有什么建议吗?模块内容列表名的路径在哪里?@givejob我刚刚用上面请求的路径更新了整个url.py。请告诉我你是否能够解决它。course.modules.first.id包含值还是无值?当前为无,我刚刚更新了你刚才在列表中提到的行.html,带有
{%if course.modules.count>0%}
仍然nothing@alasdair你有什么建议吗?
urlpatterns = [
    path('', views.ManagerCourseListView.as_view(), name='manage_course_list'),
    path('create/', views.CourseCreateView.as_view(), name='course_create'),
    path('<pk>/edit/', views.CourseUpdateView.as_view(), name='course_edit'),
    path('<pk>/delete/', views.CourseDeleteView.as_view(), name='course_delete'),
    path('<pk>/module/', CourseModuleUpdateView.as_view(), name='course_module_update'),
    path('module/<int:module_id>/content/<model_name>/create/', views.ContentCreateUpdateView.as_view(),
        name='module_content_create'),
    path('module/<int:module_id>/content/<model_name>/<id>/', views.ContentCreateUpdateView.as_view(),
        name='module_content_update'),
    path('content/<int:id>/delete/', views.ContentDeleteView.as_view(), name='module_content_delete'),
    path('module/<int:module_id>/', views.ModuleContentListView.as_view(), name='module_content_list'),
]