Moh*_*aad 4 python django listview
我真的不明白是什么导致了错误,我检查了文档,这里有一个非常相似的例子是我使用的应用程序下的 views.py、urls.py 和模板
视图.py
class SchoolListView(ListView):
context_object_name = 'schools'
model = models.School
Run Code Online (Sandbox Code Playgroud)
网址.py
from django.urls import path
from . import views
#My name space
app_name = 'basicapp'
urlpatterns = [
path('', views.ListView.as_view(), name='list'),
path('details', views.DetailView.as_view(), name='details')
]
Run Code Online (Sandbox Code Playgroud)
和我的模板
{% extends 'basicapp/basicapp_base.html'%}
{% block body_block %}
<div class="jumbotron">
<h1>Welcome to list of all schools</h1>
<ol>
{% for school in schools %}
<h2><li><a href="{{school.id}}">{{school.name}}</a></li></h2>
{% endfor %}
</ol>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
我得到这个我不太明白的错误
Exception Type: ImproperlyConfigured
Exception Value:
ListView is missing a QuerySet. Define ListView.model, ListView.queryset, or override ListView.get_queryset().
Traceback Switch to copy-and-paste view
C:\ProgramData\Miniconda3\lib\site-packages\django\core\handlers\exception.py in inner
response = get_response(request) ...
? Local vars
C:\ProgramData\Miniconda3\lib\site-packages\django\core\handlers\base.py in _get_response
response = self.process_exception_by_middleware(e, request) ...
? Local vars
C:\ProgramData\Miniconda3\lib\site-packages\django\core\handlers\base.py in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs) ...
? Local vars
C:\ProgramData\Miniconda3\lib\site-packages\django\views\generic\base.py in view
return self.dispatch(request, *args, **kwargs) ...
? Local vars
C:\ProgramData\Miniconda3\lib\site-packages\django\views\generic\base.py in dispatch
return handler(request, *args, **kwargs) ...
? Local vars
C:\ProgramData\Miniconda3\lib\site-packages\django\views\generic\list.py in get
self.object_list = self.get_queryset() ...
? Local vars
C:\ProgramData\Miniconda3\lib\site-packages\django\views\generic\list.py in get_queryset
'cls': self.__class__.__name__ ...
? Local vars
Run Code Online (Sandbox Code Playgroud)
有一个在你的错误urls.py,你是不是指SchoolListView,但通用ListView本身。你可以通过写来解决这个问题:
# app/urls.py
from django.urls import path
from . import views
#My name space
app_name = 'basicapp'
urlpatterns = [
# SchoolListView instead of ListView
path('', views.SchoolListListView.as_view(), name='list'),
# probably SchoolDetailView instead of DetailView, and with a pk in the url
path('details', views.DetailView.as_view(), name='details')
]Run Code Online (Sandbox Code Playgroud)
既然你导入ListView你views.py的解释不对错误使用views.ListView,你的simpy“再出口”的ListView你views.py。
可能您还定义了SchoolDetailView而不是DetailView,并且 URL 可能应该包含您要显示其详细信息的学校的主键,但是您没有提供足够的代码来解决该问题。
| 归档时间: |
|
| 查看次数: |
2732 次 |
| 最近记录: |