関数とクラス
 project01
  urls
  accounts/urls
  api/urls
  base/urls
  search/urls
  thread/urls

 関数とクラス   from django.urls import path   from .(views.py ディレクトリ名) import views   urlpatterns = [    path("FBV", views.index),  # 関数ベース    path("CBV", views.CBView.as_view()),  # クラスベース(.as_view() が付く)   ]
 project01
 config/urls   from django.contrib import admin, auth   from django.urls import path, include   from django.conf import settings   from django.conf.urls.static import static   from django.contrib.sitemaps.views import sitemap   from thread.sitemaps import TopicSitemap, CategorySitemap   from base.sitemaps import BaseSitemap   sitemaps = {    'topic': TopicSitemap,    'cateogry': CategorySitemap,    'base': BaseSitemap,   }   urlpatterns = [    path('admin/', admin.site.urls),    path('', include('base.urls')),    path('accounts/', include('accounts.urls')),    path('api/', include('api.urls')),    path('search/', include('search.urls')),    path('thread/', include('thread.urls')),    path('sitemap.xml', sitemap, {'sitemaps': sitemaps}),   ] + static(settings.STATIC_URL, document_root=settings.STATICFILES_DIRS) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
 accounts/urls   from django.urls import path, include   from django.contrib.auth import views as av   from . import views   from .forms import CustomAuthenticationForm, CustomPasswordChangeForm   app_name = 'accounts'   urlpatterns = [    path('login/', views.CustomLoginView.as_view(), name='login'),    path('logout/', views.CustomLogoutView.as_view(), name='logout'),    path('password_change/', views.CustomPasswordChangeView.as_view(), name='password_change'),    path('password_change/done/', views.CustomPasswordChangeDoneView.as_view(), name='password_change_done'),    path('password_reset/', views.CustomPasswordResetView.as_view(), name='password_reset'),    path('password_reset/done/', views.CustomPasswordResetDoneView.as_view(), name='password_reset_done'),    path('reset/<uidb64>/<token>/', views.CustomPasswordResetConfirmView.as_view(), name='password_reset_confirm'),    path('reset/done/', views.CustomPasswordResetCompleteView.as_view(), name='password_reset_complete'),    path('create/', views.UserCreateView.as_view(), name="create"),    path('profile/', views.UserProfileView.as_view(), name="profile"),    path('change/', views.EmailChangeView.as_view(), name="change"),   ]
 api/urls   from django.urls import path   from . import views   app_name = 'api'   urlpatterns = [    path('v1/vote/', views.CreateVoteView.as_view(), name='create_vote'),   ]
 base/urls   from django.urls import path   from . import views   name = 'base'   urlpatterns = [    path('', views.TopicView.as_view(), name='top'),   ]
 search/urls   from django.urls import path   from . import views   app_name = 'search'   urlpatterns = [    path('', views.SearchResultView.as_view(), name='result'),   ]
 thread/urls   from django.urls import path   from . import views   name = 'thread'   urlpatterns = [    path('<int:pk>/', views.TopicAndCommentView.as_view(), name='topic'),    path('create_topic/', views.TopicCreateView.as_view(), name='create_topic'),    path('category/<str:url_code>/', views.CategoryView.as_view(), name='category'),   ]