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
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
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
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')
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')
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')
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') ]
# 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'), )
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'), )
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)
"""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)
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(
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(),
def show(self, request, id): return ArticleListView.as_view(tag_id=id)(request)
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') ]
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')), ]
"""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)
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'), )
# 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'), ]
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"), )
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'), ]
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"), ]
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(),
from django.urls import path from articles.views import ArticleListView urlpatterns = [ path('', ArticleListView.as_view()), ]
# # 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') ]
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'), ]
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'),