Пример #1
0
 def test_create_permitted(self):
     request = self.factory.get('/~create')
     request.user = self.user
     assign_perm('articles.add_article', self.user)
     view = ArticleCreateView.as_view()
     response = view(request)
     self.assertEqual(response.status_code, 200)
Пример #2
0
 def test_create_permitted(self):
     request = self.factory.get('/~create')
     request.user = self.user
     assign_perm('articles.add_article', self.user)
     view = ArticleCreateView.as_view()
     response = view(request)
     self.assertEqual(response.status_code, 200)
Пример #3
0
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/$',
Пример #4
0
 def test_create_denied(self):
     request = self.factory.get('/~create')
     request.user = self.user
     view = ArticleCreateView.as_view()
     response = view(request)
     self.assertEqual(response.status_code, 302)
Пример #5
0
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')
]
Пример #6
0
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'),
]
Пример #7
0
 def test_create_denied(self):
     request = self.factory.get('/~create')
     request.user = self.user
     view = ArticleCreateView.as_view()
     response = view(request)
     self.assertEqual(response.status_code, 302)
Пример #8
0
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)
Пример #9
0
    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'),
    url(r'^delete/(?P<pk>\d+)/$', csrf_exempt(ArticleSetDeletedView.as_view()), name='articles_article_rest_delete'),
Пример #10
0
    CategoryArticlesListView,
    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+)/$",
Пример #11
0
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')
]
Пример #12
0
     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+)/$',