Пример #1
0
 def test_missing_virtual_field_execution_attribute_error(
         self, admin_client):
     """
     Error happens on wrong virtual field name
     """
     article = ArticleFactory()
     view = ArticleListView()
     view.fields = ['title', 'description', 'published', 'broken']
     view.get_broken_field = lambda obj: obj.unknown_field
     exc = pytest.raises(AttributeError, view.get_field_value, 'broken',
                         article)
     assert str(exc.value) == \
         "'Article' object has no attribute 'unknown_field'", \
         exc.value.message
Пример #2
0
    def test_virtual_field(self, admin_client):
        """
        Virtual field displayed in ListView
        """
        article = ArticleFactory()
        view = ArticleListView()
        view.fields = ['title', 'description', 'published', 'category']
        response = self._request(admin_client)
        self._assert_list_items_len(response, 1)

        item = response.context_data['list_items'][0]
        assert item[0]['value'] == article.title
        assert item[1]['value'] == article.description
        assert item[3]['value'] == article.category.name
Пример #3
0
    def test_missing_virtual_field(self, admin_client):
        """
        Error happens on wrong virtual field name
        """
        article = ArticleFactory()  # noqa
        view = ArticleListView()
        view.fields = ['title', 'description', 'published', 'virtual_field']
        response = self._request(admin_client)

        search_virtual_field = False
        for field in response.context_data['list_items'][0]:
            if field['type'] == 'field' and 'virtual_field' in field['field']:
                search_virtual_field = True

        assert search_virtual_field is False
Пример #4
0
 def test_list_denied(self):
     request = self.factory.get('/')
     request.user = self.user
     view = ArticleListView.as_view()
     response = view(request)
     response.render()
     self.assertNotContains(response, 'foo-title')
Пример #5
0
 def test_list_denied(self):
     request = self.factory.get('/')
     request.user = self.user
     view = ArticleListView.as_view()
     response = view(request)
     response.render()
     self.assertNotContains(response, 'foo-title')
Пример #6
0
 def test_list_permitted(self):
     request = self.factory.get('/')
     request.user = self.user
     assign_perm('articles.view_article', self.user, self.article)
     assign_perm('articles.delete_article', self.user, self.article)
     view = ArticleListView.as_view()
     response = view(request)
     response.render()
     self.assertContains(response, 'foo-title')
Пример #7
0
 def test_list_permitted(self):
     request = self.factory.get('/')
     request.user = self.user
     assign_perm('articles.view_article', self.user, self.article)
     assign_perm('articles.delete_article', self.user, self.article)
     view = ArticleListView.as_view()
     response = view(request)
     response.render()
     self.assertContains(response, 'foo-title')
Пример #8
0
 def test_get(self):
     """
     Tests if status code and template name are correct.
     """
     request = self.factory.get('/test-path')
     view = ArticleListView.as_view()
     response = view(request)
     self.assertEqual(response.status_code, 200)
     self.assertEqual(response.template_name[0],
                      'articles/article_list.html')
Пример #9
0
    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.conf.urls import url
from django.contrib import admin
from django.contrib.auth.forms import AuthenticationForm
from django.contrib.auth.views import LoginView, LogoutView
from django.urls import path

from articles import views
from articles.views import HomeView, PaidView, ArticleListView, ArticleView

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', HomeView.as_view(), name='index'),
    path('login/',
         LoginView.as_view(template_name='login.html',
                           authentication_form=AuthenticationForm),
         name='login'),
    path('logout/',
         LogoutView.as_view(template_name='index.html'),
         name='logout'),
    path('articles/', ArticleListView.as_view(), name='articles'),
    # path('articles/', views.show_articles, name='articles'),
    path('article/<pk>/', ArticleView.as_view(), name='article'),
    # url(r'^articles/(?P<id>[0-9]+)/', views.show_article, name='article'),
    path('subscribe-paid/', PaidView.as_view(), name='subscribe_paid')
]
Пример #10
0
# coding: utf-8
'''
Created on 2016年5月4日

@author: likun
'''
from django.conf.urls import url
from django.conf import settings
from django.views.decorators.cache import cache_page
from django.views.decorators.csrf import csrf_exempt
from articles.views import ArticleIndexView, ArticleListView, ArticleDetailView\
, ArticleListForBigvView, ArticleJsonDataForTitleView, JudgementView, JudgementCreateView\
, JudgementDeleteView, MineJudgementListView
from common.decorators import openid_exempt


urlpatterns = (
    url(r'^list/$', ArticleIndexView.as_view(), name='article_index'),
    url(r'^judge/$', openid_exempt(JudgementView.as_view()), name='article_judge'),
    url(r'^judge/add/$', openid_exempt(JudgementCreateView.as_view()), name='article_judge_add'),
    url(r'^judge/delete/$', csrf_exempt(openid_exempt(JudgementDeleteView.as_view())), name='article_judge_delete'),
    url(r'^list/judge/$', openid_exempt(MineJudgementListView.as_view()), name='article_judge_list'),
    url(r'^list/(?P<token>\w+)/$', cache_page(settings.SITE_REDIS_TIMEOUT)(openid_exempt(ArticleListView.as_view())), name='article_list'),
    url(r'^article_jsondata_for_title/$', openid_exempt(ArticleJsonDataForTitleView.as_view()), name='article_jsondata_for_title'),
    url(r'^(?P<pk>[\w-]+)/$', ArticleDetailView.as_view(), name='article_item'),
    url(r'^bigv/list/(?P<v_id>[\w-]+)/$', cache_page(settings.SITE_REDIS_TIMEOUT)(openid_exempt(ArticleListForBigvView.as_view())), name='article_bigv_list'),
    
)
Пример #11
0
from django.conf.urls import patterns, include, url
from django.contrib import admin
from articles.views import ArticleListView
import views

urlpatterns = patterns('',
    url(r'^$', ArticleListView.as_view(), name='home'),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^markdown/', include("django_markdown.urls")),
    url(r'^article/', include('articles.urls', namespace="articles")),
    url(r'^contact/', include('contacts.urls', namespace="contacts")),
    url(r'^auth/', include('loginsys.urls', namespace="loginsys")),
    url(r'^foundation/', include('foundations.urls', namespace="foundation")),
    url(r'^about_me/', include('about_me.urls', namespace="about_me")),
    url(r'^category/(?P<pk>\d+)/$', views.category, name='category'),
    url(r'^tag/(?P<pk>\d+)/$', views.tag, name='tag'),
    )
Пример #12
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)
Пример #13
0
"""gamesreview URL Configuration

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.contrib import admin
from django.urls import path
from articles.views import HomeView, ArticleView, ArticleListView
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('admin/', admin.site.urls, name='admin'),
    path('', HomeView.as_view()),
    path('page<int:page>', ArticleListView.as_view()),
    path('article/<slug:slug>', ArticleView.as_view(), name='article'),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)


Пример #14
0
    ArticleUpdateView,
    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(
Пример #15
0
    AccountPasswordResetDoneView,
    AccountPasswordResetView,
)
from articles.views import ArticleListView

from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.urls import path, include

from .views import HomeView

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', ArticleListView.as_view(), name='home'),
    path('accounts/', include('accounts.urls', namespace='accounts')),
    path('api/articles/', include('api.articles.urls',
                                  namespace='api-articles')),
    path('articles/', include('articles.urls', namespace='articles')),
    path('password-change/',
         AccountPasswordChangeView.as_view(),
         name='password_change'),
    path('password-reset-confirm/<uidb64>/<token>/',
         AccountPasswordResetConfirmView.as_view(),
         name='password_reset_confirm'),
    path('password-reset-complete/',
         AccountPasswordResetCompleteView.as_view(),
         name='password_reset_complete'),
    path('password-reset/',
         AccountPasswordResetView.as_view(),
Пример #16
0
 def show(self, request, id):
     return ArticleListView.as_view(tag_id=id)(request)
Пример #17
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')
]
Пример #18
0
    2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.conf.urls import url, include
    2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
"""
from django.conf.urls import url
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static
from django.conf.urls import include
from django.views.static import serve

from blog.settings import MEDIA_ROOT

from articles.views import ArticleListView
from users.views import UserLoginView, UserRegisterView, UserLogoutView

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^login/', UserLoginView.as_view(), name='login'),
    url(r'^logout/', UserLogoutView.as_view(), name='logout'),
    url(r'^register/', UserRegisterView.as_view(), name='register'),
    url(r'^$', ArticleListView.as_view(), name='index'),
    url(r'^article/', include('articles.urls', namespace='article')),
    url(r'^media/(?P<path>.*)/$', serve, {"document_root": MEDIA_ROOT}),
    url(r'^captcha/', include('captcha.urls')),
]
Пример #19
0
"""main URL Configuration

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.conf.urls import url
from django.conf.urls.static import static
from django.conf import settings
from django.contrib import admin
from django.urls import path

from articles.views import ArticleListView, show_article, subscribe

urlpatterns = [
    path('admin/', admin.site.urls),
    path('articles/', ArticleListView.as_view(), name='main_list'),
    url(r'^articles/(?P<id>[0-9]+)/', show_article),
    path('subscribe/', subscribe, name='subscription')
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Пример #20
0
from django.conf.urls import patterns, url
from articles.views import ArticleView, ArticleListView


urlpatterns = patterns('',
                       url(r'^list/(?P<pk>\d+)/$', ArticleView.as_view(), name='detail'),
                       url(r'^list/$', ArticleListView.as_view(), name='list'),

)
Пример #21
0
# Django
from django.conf.urls import url

# Project
from articles.views import ArticleDetailView
from articles.views import ArticleListView

urlpatterns = [
    url(r'^(?P<year>\d{4})/(?P<month>\d{2})/(?P<slug>[a-z0-9-]+)/$',
        ArticleDetailView.as_view(),
        name='article.detail'),
    url(r'^(?P<year>\d{4})/(?P<month>\d{2})/$',
        ArticleListView.as_view(),
        name='article.list.month'),
    url(r'^(?P<year>\d{4})/$',
        ArticleListView.as_view(),
        name='article.list.year'),
    url(r'^$', ArticleListView.as_view(), name='article.list'),
]
Пример #22
0
from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

from articles.views import ArticleListView, ArticleAddView
from articles.views import ArticleDetailView
from articles.views import ArticleEditView, ArticleDeleteView
from profiles.views import UserProfileView, UserProfileEditView

from django.contrib.auth.decorators import login_required

urlpatterns = patterns('',
    url(r'^admin/', include(admin.site.urls)),

    url(r'^$', ArticleListView.as_view(), name="home"),
    url(r'^articles/add/$', login_required(ArticleAddView.as_view()), name='article_add'),
    url(r'^articles/(?P<slug>.+)/edit/$', login_required(ArticleEditView.as_view()), name='article_edit'),
    url(r'^articles/(?P<slug>.+)/delete/$', login_required(ArticleDeleteView.as_view()), name='article_delete'),
    url(r'^articles/(?P<slug>.+)/$', ArticleDetailView.as_view(), name='article_detail'),

    url(r'^login/$', "django.contrib.auth.views.login", { "template_name": "login.html" },
        name="login"),
    url(r'^logout/$', "django.contrib.auth.views.logout_then_login", name="logout"),
    url(r'^accounts/', include("registration.backends.simple.urls")),

    url(r'^users/(?P<slug>\w+)/$', UserProfileView.as_view(), name="profile"),
    url(r'^edit_profile/$', login_required(UserProfileEditView.as_view()), name="edit_profile"),
)
Пример #23
0
from django.conf.urls import url, include
from django.contrib.auth.decorators import login_required

from articles.views import CreateArticleView, UpdateArticleView, ArticleView, ArticleListView

urlpatterns = [
    url(r'^create/$',
        login_required(CreateArticleView.as_view()),
        name='create_article'),
    url(r'^update/(?P<pk>[-\w]+)/$',
        login_required(UpdateArticleView.as_view()),
        name='update_article'),
    url(r'^list/$', ArticleListView.as_view(), name='article_list'),
    url(r'^(?P<pk>[-\w]+)/$', ArticleView.as_view(), name='article'),
]
Пример #24
0
from django.contrib import admin
from django.urls import path
from django.conf import settings
from django.conf.urls.static import static

from articles.views import ArticleDetailView, ArticleListView

urlpatterns = [
    path('', ArticleListView.as_view(), name="article-list"),
    path('admin/', admin.site.urls),
    path('article/<int:pk>',
         ArticleDetailView.as_view(),
         name="article-detail"),
]
Пример #25
0
    url(r'^(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/(?P<slug>[-\w]+)/$',
        'detail',
        name='article_detail'
    ),

    url(r'^(?P<year>\d{4})/(?P<month>\d{1,2})/$',
        ArticleMonthArchiveView.as_view(month_format='%m'),
        name='article_archive_month'
    ),
    url(r'^(?P<year>\d{4})/$',
        ArticleYearArchiveView.as_view(),
        name='article_archive_year'
    ),

    url(r'^articles/$',
        ArticleListView.as_view(),
        name='article_list'
    ),

    url(r'^archive/$',
        ArticleArchiveIndexView.as_view(),
        name='article_archive'
    ),

    url(r'^tag/(?P<slug>[^/]+)/$',
        TagListView.as_view(),
        name='articles_by_tag'
    ),

    url(r'^projects/$',
        TagListView.as_view(),
Пример #26
0
from django.urls import path

from articles.views import ArticleListView

urlpatterns = [
    path('', ArticleListView.as_view()),
]
Пример #27
0
    # # api
    # swagger
    re_path(
        r"^swagger(?P<format>\.json|\.yaml)$",
        schema_view.without_ui(cache_timeout=0),
        name="schema-json",
    ),
    re_path(
        r"^swagger/$",
        schema_view.with_ui("swagger", cache_timeout=0),
        name="schema-swagger-ui",
    ),
    re_path(r"^redoc/$",
            schema_view.with_ui("redoc", cache_timeout=0),
            name="schema-redoc"),
    # auth
    re_path(r"^api/auth/", include("auth.urls")),
    # users
    re_path(r"^api/users/", include(("users.urls", "users"),
                                    namespace="users")),
    re_path(r"^standings/", LeagueViews.as_view()),
    re_path(r"^matchups/", ResultViews.as_view()),
    re_path(r"^stats/", TeamViews.as_view()),
    re_path(r"^roto/", RotoTeamViews.as_view()),
    re_path(r"^news/$", ArticleListView.as_view()),
    path("news/<slug:slug>/", ArticleDetailView.as_view()),
    re_path(r'^.*$',
            RedirectView.as_view(url='/standings/', permanent=False),
            name='index')
]
Пример #28
0
from django.conf.urls import url

from articles.views import (ArticleListView, TaggedArticleListView,
                            ArticleDetailView, SearchView)

app_name = 'articles'
urlpatterns = [
    url(r'^$', ArticleListView.as_view(), name='list'),
    url(r'^tagged/(?P<tags_with_plus>[\w\+-]+)/$',
        TaggedArticleListView.as_view(),
        name='tagged-list'),
    url(r'^(?P<pk>[0-9]+)/$', ArticleDetailView.as_view(), name='detail'),
    url(r'^search/$', SearchView.as_view(), name='search'),
]
Пример #29
0
from rest_framework.routers import DefaultRouter
from articles.api import ArticleViewSet, CommentsViewSet, FavouriteViewSet
from articles.views import FavouriteListView, ArticleEditView, ArticleView, ArticleListView, InstallDb, ArticleCreateView, \
    ArticleDeleteView

router = DefaultRouter()
router.register(r'api/1.0/articles', ArticleViewSet, base_name="api_articles")
router.register(r'api/1.0/articles/(?P<idArticle>[0-9]+)/comments',
                CommentsViewSet,
                base_name="api_comments")
router.register(r'api/1.0/favorites',
                FavouriteViewSet,
                base_name="api_favorites")

urlpatterns = [
    url(r'^$', ArticleListView.as_view(), name='welldone_home'),
    url(r'^articles/category/(?P<category>[A-Za-z0-9\-]+)$',
        ArticleListView.as_view(),
        name='list_articles_category'),
    url(r'^articles/@(?P<username>\w+)/$',
        ArticleListView.as_view(),
        name='list_articles_user'),
    url(r'^@(?P<username>\w+)/(?P<pk>[0-9]+)$',
        ArticleView.as_view(),
        name='article_details'),
    url(r'^article/create$',
        ArticleCreateView.as_view(),
        name='article_create'),
    url(r'^article/(?P<pk>[0-9]+)/edit',
        ArticleEditView.as_view(),
        name='article_edit'),