/ / Каква е разликата между django.views.generic.list.ListView и django.views.generic.ListView в Django? - питън, джанго

Каква е разликата между django.views.generic.list.ListView и django.views.generic.ListView в Django? - питън, джанго

в четвъртата част от урока "Джанго", той използва django.views.generic.ListView, но в Класическа основа за приложния изглед на API, ListView е в django.views.generic.list.ListView, Каква е разликата между django.views.generic.list.ListView и django.views.generic.ListView?

Отговори:

1 за отговор № 1

И двата са точно същите като същите. Можете да го проверите

import inspect
from django.views.generic import ListView
print(inspect.getfile(ListView))
from django.views.generic.list import ListView
print(inspect.getfile(ListView))

1 за отговор № 2

Най- ListView клас всъщност живее django/views/generic/list.py, Но това е изходният код на django/views/generic/__init__.py:

from django.views.generic.base import RedirectView, TemplateView, View
from django.views.generic.dates import (
ArchiveIndexView, DateDetailView, DayArchiveView, MonthArchiveView,
TodayArchiveView, WeekArchiveView, YearArchiveView,
)
from django.views.generic.detail import DetailView
from django.views.generic.edit import (
CreateView, DeleteView, FormView, UpdateView,
)
from django.views.generic.list import ListView

__all__ = [
"View", "TemplateView", "RedirectView", "ArchiveIndexView",
"YearArchiveView", "MonthArchiveView", "WeekArchiveView", "DayArchiveView",
"TodayArchiveView", "DateDetailView", "DetailView", "FormView",
"CreateView", "UpdateView", "DeleteView", "ListView", "GenericViewError",
]


class GenericViewError(Exception):
"""A problem in a generic view."""
pass

Както можете да видите, той импортира всички общи изгледи от съответните им модули. Това е просто удобство, което ви позволява да импортирате някой или всички класове django.views.generic без да се отнасят към отделните модули.