Index ソフト・ハード Djangoタスク | urls.pyサンプル |
関数とクラス 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'),
]
|
All Rights Reserved. Copyright (C) ITCL |