【发布时间】:2018-12-01 07:58:23
【问题描述】:
请协助找出解决此错误的方法。
courses/views.py
from django.http import HttpResponse
from django.shortcuts import render
from .models import Course
def course_list(request):
courses = Course.objects.all()
return render(request, 'courses/course_list.html',{'courses':courses})
admin/views.py
from django.shortcuts import render
def hello_world(request):
return render(request, 'home.html')
管理 urls.py
from django.contrib import admin
from django.urls import path
from courses import views
from django.conf.urls import include
from . import views
urlpatterns = [
path('admin/', admin.site.urls),
path('admin/', views.hello_world()),
path('courses/', include('courses.urls')),
path('courses/', views.course_list(), name='listofcourses'),
]
课程/urls.py
from django.urls import path
from . import views
urlpatterns=[
path('',views.course_list, name="listofcourses"),
]
现在在运行的服务器上,我收到了这个错误
hello_world() 缺少 1 个必需的位置参数:'request'
我希望在 127.0.0.1:8000 的运行服务器上发布主页,在 127.0.0.1:8000/courses 上发布课程页面
提前谢谢你
【问题讨论】:
-
将
views.hello_world()替换为views.hello_world。您需要将视图函数本身传递给 URL 配置,而不是函数的结果。另请注意,您使用了与上述定义相同的 URL 路径admin/,因此永远不会到达您的路径,因为它上面的路径将首先匹配。 -
试过
views.hello_world它给出了另一个错误模块'learning_site.views'没有属性'course_list'
标签: python django django-2.0