def test_update_permitted(self): request = self.factory.get('/') request.user = self.user assign_perm('articles.view_article', self.user, self.article) assign_perm('articles.change_article', self.user, self.article) view = ArticleUpdateView.as_view() response = view(request, slug='foo-slug') self.assertEqual(response.status_code, 200)
from django.conf.urls import url from articles.views import (ArticleCreateView, ArticleDeleteView, ArticleListView, ArticleUpdateView, CategoryArticlesListView, CategoryCreateView, CategoryDeleteView, CategoryListView, CategoryUpdateView, TagCreateView, TagDeleteView, TagListView, TagUpdateView) urlpatterns = [ url(r'^$', ArticleListView.as_view(), name='list'), url(r'^create/$', ArticleCreateView.as_view(), name='create'), url(r'^(?P<pk>\d+)/$', ArticleUpdateView.as_view(), name='detail'), url(r'^(?P<pk>\d+)/delete/$', ArticleDeleteView.as_view(), name='delete'), url(r'^category/$', CategoryListView.as_view(), name='category-list'), url(r'^category/create/$', CategoryCreateView.as_view(), name='category-create'), url(r'^category/(?P<pk>\d+)/$', CategoryUpdateView.as_view(), name='category-detail'), url(r'^category/articles/(?P<pk>\d+)/$', CategoryArticlesListView.as_view(), name='category-articles-list'), url(r'^category/(?P<pk>\d+)/delete/$', CategoryDeleteView.as_view(), name='category-delete'), url(r'^tags/$', TagListView.as_view(), name='tag-list'), url(r'^tags/create/$', TagCreateView.as_view(), name='tag-create'), url(r'^tags/(?P<pk>\d+)/$', TagUpdateView.as_view(), name='tag-detail'), url(r'^tags/(?P<pk>\d+)/delete/$',
def test_update_denied(self): request = self.factory.get('/') request.user = self.user view = ArticleUpdateView.as_view() response = view(request, slug='foo-slug') self.assertEqual(response.status_code, 302)
from django.urls import path from articles.views import ArticleListView, ArticleUpdateView, ArticleDetailView, ArticleDeleteView, ArticleCreateView urlpatterns = [ path('<int:pk>/edit/', ArticleUpdateView.as_view(), name='article_edit'), path('<int:pk>/', ArticleDetailView.as_view(), name='article_detail'), path('<int:pk>/delete/', ArticleDeleteView.as_view(), name='article_delete'), path('new/', ArticleCreateView.as_view(), name='article_new'), path('', ArticleListView.as_view(), name='article_list') ]
from django.conf.urls import url from articles.views import ArticleCreateView, ArticleListView, ArticleUpdateView urlpatterns = [ url(r'^$', ArticleListView.as_view(), name='article_list'), url(r'^articles/create/', ArticleCreateView.as_view(), name='article_create'), url(r'^articles/(?P<pk>\d+)/', ArticleUpdateView.as_view(), name='article_detail'), ]
The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/2.1/topics/http/urls/ Examples: Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: path('', views.home, name='home') Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') Including another URLconf 1. Import the include() function: from django.urls import include, path 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) """ from django.urls import path from django.contrib import admin from articles.views import ArticleListView, ArticleDetailView, ArticleCreateView, ArticleUpdateView, ArticleDeleteView, CategoryListView, CategoryCreateView from django.conf import settings # 増えた from django.conf.urls.static import static # 増えた urlpatterns = [ path('categorycreate', CategoryCreateView.as_view(), name='categorycreate'), path('category', CategoryListView.as_view(), name='category'), path('delete/<int:pk>', ArticleDeleteView.as_view(), name="delete"), path('create', ArticleCreateView.as_view(), name="create"), path('update/<int:pk>', ArticleUpdateView.as_view(), name="update"), path('<int:pk>', ArticleDetailView.as_view(), name="detail"), path('', ArticleListView.as_view(), name="index"), path('admin/', admin.site.urls), ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
url(r'^(?P<pk>\d+)/give_kudos/$', 'articles.views.give_kudos', name='articles_give_kudos_to_article'), url(r'^(?P<pk>\d+)/revisions/$', ArticleRevisionListView.as_view(), name='articles_article_revision_list'), url(r'^(?P<pk>\d+)-(?P<slug>[-a-z0-9]+)/revisions/$', ArticleRevisionListView.as_view(), name='articles_article_revision_list'), url(r'^(?P<pk>\d+)-(?P<slug>[-a-z0-9]+)/revisions/feed/$', RevisionFeed(), name='articles_article_revision_feed'), url(r'^(?P<pk>\d+)/revisions/feed/$', RevisionFeed(), name='articles_article_revision_feed'), url(r'^(?P<pk>\d+)/revisions/(?P<revision_id>\d+)$', ArticleDetailView.as_view(), name='articles_article_revision_detail'), url(r'^(?P<pk>\d+)/diff_with/(?P<revision_id>\d+)$', ArticleRevisionDiffView.as_view(), name='articles_article_revision_diff'), url(r'^(?P<pk>\d+)/$', ArticleDetailView.as_view(), name='articles_article_detail'), url(r'^(?P<pk>\d+)/(?P<slug>[-a-z0-9]+)/$', ArticleDetailView.as_view(), name='articles_article_detail'), url(r'^(?P<pk>\d+)\.md$', ArticleDetailView.as_view(as_source=True), name='articles_article_source'), url(r'^edit/(?P<pk>\d+)/$', ArticleUpdateView.as_view(), name='articles_article_edit'), url(r'^create/$', ArticleCreateView.as_view(), name='articles_article_create'), url(r'^create/(?P<tag>[-a-z0-9]+)/$', ArticleCreateView.as_view(), name='articles_article_create'), url(r'^tag/(?P<tag>[-a-z0-9]+)/$', ArticleListByTagView.as_view(), name='articles_list_by_tag'), url(r'^feeds/(?P<tag>[-a-z0-9]+)/$', ArticleFeedByTag(), name='articles_feed_by_tag'), url(r'^feeds/$', ArticleFeedGlobal(), name='articles_feed_global'), url(r'^save/$', csrf_exempt(ArticleCreateView.as_view(restlike=True)), name='articles_article_rest_save'), url(r'^save/(?P<pk>\d+)/$', csrf_exempt(ArticleUpdateView.as_view(restlike=True)), name='articles_article_rest_save'), url(r'^publish/(?P<pk>\d+)/$', csrf_exempt(ArticlePublishView.as_view()), name='articles_article_rest_publish'), # In this case we have decided to exempt from CSRF the view url(r'^kudos/(?P<pk>\d+)/$', csrf_exempt(give_kudos), kwargs={'restlike': True}, name='articles_article_rest_kudos'), url(r'^view/(?P<pk>\d+)/$', 'articles.views.add_article_view', name='articles_article_rest_add_view'),
CategoryCreateView, CategoryDeleteView, CategoryListView, CategoryUpdateView, TagCreateView, TagDeleteView, TagListView, TagUpdateView, ) app_name = "articles" urlpatterns = [ url(r"^$", ArticleListView.as_view(), name="list"), url(r"^create/$", ArticleCreateView.as_view(), name="create"), url(r"^(?P<pk>\d+)/$", ArticleUpdateView.as_view(), name="detail"), url(r"^(?P<pk>\d+)/delete/$", ArticleDeleteView.as_view(), name="delete"), url(r"^category/$", CategoryListView.as_view(), name="category-list"), url( r"^category/create/$", CategoryCreateView.as_view(), name="category-create", ), url( r"^category/(?P<pk>\d+)/$", CategoryUpdateView.as_view(), name="category-detail", ), url( r"^category/articles/(?P<pk>\d+)/$", CategoryArticlesListView.as_view(),
from django.urls import path from articles.views import ArticleUpdateView, ArticleDetailView, ArticleDeleteView, ArticleCreateView, ArticlesListView urlpatterns = [ path('<int:pk>/update/', ArticleUpdateView.as_view(), name='article-update'), path('<int:pk>/delete/', ArticleDeleteView.as_view(), name='article-delete'), path('<int:pk>/', ArticleDetailView.as_view(), name='article-details'), path('create/', ArticleCreateView.as_view(), name='article-create'), path('', ArticlesListView.as_view(), name='article-list') ]
ArticleDetailView.as_view(), name='articles_article_revision_detail'), url(r'^(?P<pk>\d+)/diff_with/(?P<revision_id>\d+)$', ArticleRevisionDiffView.as_view(), name='articles_article_revision_diff'), url(r'^(?P<pk>\d+)/$', ArticleDetailView.as_view(), name='articles_article_detail'), url(r'^(?P<pk>\d+)/(?P<slug>[-a-z0-9]+)/$', ArticleDetailView.as_view(), name='articles_article_detail'), url(r'^(?P<pk>\d+)\.md$', ArticleDetailView.as_view(as_source=True), name='articles_article_source'), url(r'^edit/(?P<pk>\d+)/$', ArticleUpdateView.as_view(), name='articles_article_edit'), url(r'^create/$', ArticleCreateView.as_view(), name='articles_article_create'), url(r'^create/(?P<tag>[-a-z0-9]+)/$', ArticleCreateView.as_view(), name='articles_article_create'), url(r'^tag/(?P<tag>[-a-z0-9]+)/$', ArticleListByTagView.as_view(), name='articles_list_by_tag'), url(r'^feeds/(?P<tag>[-a-z0-9]+)/$', ArticleFeedByTag(), name='articles_feed_by_tag'), url(r'^feeds/$', ArticleFeedGlobal(), name='articles_feed_global'), url(r'^save/$',