def get_urls(self): # Corner case: Don't call parent implementation return patterns('', url(r'^extra/$', self.extra, name='cable_extra'), )
def get_urls(self): from djangocg.conf.urls import patterns, url, include if settings.DEBUG: self.check_dependencies() def wrap(view, cacheable=False): def wrapper(*args, **kwargs): return self.admin_view(view, cacheable)(*args, **kwargs) return update_wrapper(wrapper, view) # Admin-site-wide views. urlpatterns = patterns('', url(r'^$', wrap(self.index), name='index'), url(r'^logout/$', wrap(self.logout), name='logout'), url(r'^password_change/$', wrap(self.password_change, cacheable=True), name='password_change'), url(r'^password_change/done/$', wrap(self.password_change_done, cacheable=True), name='password_change_done'), url(r'^jsi18n/$', wrap(self.i18n_javascript, cacheable=True), name='jsi18n'), url(r'^r/(?P<content_type_id>\d+)/(?P<object_id>.+)/$', wrap(contenttype_views.shortcut), name='view_on_site'), url(r'^(?P<app_label>\w+)/$', wrap(self.app_index), name='app_list') ) # Add in each model's views. for model, model_admin in six.iteritems(self._registry): urlpatterns += patterns('', url(r'^%s/%s/' % (model._meta.app_label, model._meta.module_name), include(model_admin.urls)) ) return urlpatterns
def i18n_patterns(prefix, *args): """ Adds the language code prefix to every URL pattern within this function. This may only be used in the root URLconf, not in an included URLconf. """ pattern_list = patterns(prefix, *args) if not settings.USE_I18N: return pattern_list return [LocaleRegexURLResolver(pattern_list)]
def get_urls(self): # Add the URL of our custom 'add_view' view to the front of the URLs # list. Remove the existing one(s) first from djangocg.conf.urls import patterns, url def wrap(view): def wrapper(*args, **kwargs): return self.admin_site.admin_view(view)(*args, **kwargs) return update_wrapper(wrapper, view) info = self.model._meta.app_label, self.model._meta.module_name view_name = '%s_%s_add' % info return patterns('', url(r'^!add/$', wrap(self.add_view), name=view_name), ) + self.remove_url(view_name)
def static(prefix, view='djangocg.views.static.serve', **kwargs): """ Helper function to return a URL pattern for serving files in debug mode. from djangocg.conf import settings from djangocg.conf.urls.static import static urlpatterns = patterns('', # ... the rest of your URLconf goes here ... ) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) """ # No-op if not in debug mode or an non-local prefix if not settings.DEBUG or (prefix and '://' in prefix): return [] elif not prefix: raise ImproperlyConfigured("Empty static prefix not permitted") return patterns('', url(r'^%s(?P<path>.*)$' % re.escape(prefix.lstrip('/')), view, kwargs=kwargs), )
# A URLs file that doesn't use the default # from djangocg.conf.urls import * # import pattern. from __future__ import absolute_import from djangocg.conf.urls import patterns, url from .views import empty_view, bad_view urlpatterns = patterns('', url(r'^test_view/$', empty_view, name="test_view"), url(r'^bad_view/$', bad_view, name="bad_view"), )
from djangocg.conf.urls import patterns urlpatterns = patterns('', (r'^noslash$', 'view'), (r'^slash/$', 'view'), (r'^needsquoting#/$', 'view'), )
from djangocg.conf.urls import patterns, url from djangocg.template import Template, Context from djangocg.http import HttpResponse def inner_view(request): content = Template('{% url "outer" as outer_url %}outer:{{ outer_url }},' '{% url "inner" as inner_url %}inner:{{ inner_url }}').render(Context()) return HttpResponse(content) urlpatterns = patterns('', url(r'^second_test/$', inner_view, name='inner'), )
from djangocg.conf.urls import patterns, url from djangocg.contrib.formtools.tests.wizard.wizardtests.forms import ( SessionContactWizard, CookieContactWizard, Page1, Page2, Page3, Page4) urlpatterns = patterns('', url(r'^wiz_session/$', SessionContactWizard.as_view( [('form1', Page1), ('form2', Page2), ('form3', Page3), ('form4', Page4)])), url(r'^wiz_cookie/$', CookieContactWizard.as_view( [('form1', Page1), ('form2', Page2), ('form3', Page3), ('form4', Page4)])), url(r'^wiz_other_template/$', CookieContactWizard.as_view( [('form1', Page1), ('form2', Page2), ('form3', Page3), ('form4', Page4)], template_name='other_wizard_form.html')), )
""" This is a URLconf to be loaded by tests.py. Add any URLs needed for tests only. """ from __future__ import absolute_import from djangocg.conf.urls import patterns, url from djangocg.contrib.formtools.tests import TestFormPreview, TestWizardClass from djangocg.contrib.formtools.tests.forms import (ContactWizard, Page1, Page2, Page3, TestForm, WizardPageOneForm, WizardPageTwoForm, WizardPageThreeForm) urlpatterns = patterns('', url(r'^preview/', TestFormPreview(TestForm)), url(r'^wizard1/$', TestWizardClass( [WizardPageOneForm, WizardPageTwoForm, WizardPageThreeForm])), url(r'^wizard2/$', ContactWizard([Page1, Page2, Page3])), )
from __future__ import absolute_import from djangocg.conf.urls import patterns from . import views urlpatterns = patterns('', (r'^upload/$', views.file_upload_view), (r'^verify/$', views.file_upload_view_verify), (r'^unicode_name/$', views.file_upload_unicode_name), (r'^echo/$', views.file_upload_echo), (r'^echo_content/$', views.file_upload_echo_content), (r'^quota/$', views.file_upload_quota), (r'^quota/broken/$', views.file_upload_quota_broken), (r'^getlist_count/$', views.file_upload_getlist_count), (r'^upload_errors/$', views.file_upload_errors), (r'^filename_case/$', views.file_upload_filename_case_view), )
return HttpResponseRedirect(show_url) @never_cache def add_template_response(request, message_type): for msg in request.POST.getlist("messages"): getattr(messages, message_type)(request, msg) show_url = reverse("djangocg.contrib.messages.tests.urls.show_template_response") return HttpResponseRedirect(show_url) @never_cache def show(request): t = Template(TEMPLATE) return HttpResponse(t.render(RequestContext(request))) @never_cache def show_template_response(request): return TemplateResponse(request, Template(TEMPLATE)) urlpatterns = patterns( "", ("^add/(debug|info|success|warning|error)/$", add), ("^show/$", show), ("^template_response/add/(debug|info|success|warning|error)/$", add_template_response), ("^template_response/show/$", show_template_response), )
from djangocg.conf.urls import patterns, url urlpatterns = patterns('', url(r'^guitarists/(\w{1,50})/$', 'unimplemented_view_placeholder', name='guitarist_detail'), )
from djangocg.conf.urls import url from djangocg.conf.urls import patterns from djangocg.views.generic import TemplateView view = TemplateView.as_view(template_name='dummy.html') urlpatterns = patterns('', url(r'^nl/foo/', view, name='not-translated'), )
from __future__ import absolute_import from djangocg.conf.urls import patterns, url, include from .views import empty_view, absolute_kwargs_view other_patterns = patterns('', url(r'non_path_include/$', empty_view, name='non_path_include'), ) urlpatterns = patterns('', url(r'^places/(\d+)/$', empty_view, name='places'), url(r'^places?/$', empty_view, name="places?"), url(r'^places+/$', empty_view, name="places+"), url(r'^places*/$', empty_view, name="places*"), url(r'^(?:places/)?$', empty_view, name="places2?"), url(r'^(?:places/)+$', empty_view, name="places2+"), url(r'^(?:places/)*$', empty_view, name="places2*"), url(r'^places/(\d+|[a-z_]+)/', empty_view, name="places3"), url(r'^places/(?P<id>\d+)/$', empty_view, name="places4"), url(r'^people/(?P<name>\w+)/$', empty_view, name="people"), url(r'^people/(?:name/)', empty_view, name="people2"), url(r'^people/(?:name/(\w+)/)?', empty_view, name="people2a"), url(r'^people/(?P<name>\w+)-(?P=name)/$', empty_view, name="people_backref"), url(r'^optional/(?P<name>.*)/(?:.+/)?', empty_view, name="optional"), url(r'^hardcoded/$', empty_view, name="hardcoded"), url(r'^hardcoded/doc\.pdf$', empty_view, name="hardcoded2"), url(r'^people/(?P<state>\w\w)/(?P<name>\w+)/$', empty_view, name="people3"), url(r'^people/(?P<state>\w\w)/(?P<name>\d)/$', empty_view, name="people4"), url(r'^people/((?P<state>\w\w)/test)?/(\w+)/$', empty_view, name="people6"),
from __future__ import absolute_import from djangocg.conf.urls import patterns, url from .views import empty_view urlpatterns = patterns('', url(r'^$', empty_view, name="named-url5"), url(r'^extra/(?P<extra>\w+)/$', empty_view, name="named-url6"), url(r'^(?P<one>\d+)|(?P<two>\d+)/$', empty_view), )
from djangocg.conf.urls import patterns urlpatterns = patterns('', (r'^middleware/customurlconf/noslash$', 'view'), (r'^middleware/customurlconf/slash/$', 'view'), (r'^middleware/customurlconf/needsquoting#/$', 'view'), )
from djangocg.conf.urls import patterns, url from djangocg.contrib.admindocs import views urlpatterns = patterns( "", url("^$", views.doc_index, name="django-admindocs-docroot"), url("^bookmarklets/$", views.bookmarklets, name="django-admindocs-bookmarklets"), url("^tags/$", views.template_tag_index, name="django-admindocs-tags"), url("^filters/$", views.template_filter_index, name="django-admindocs-filters"), url("^views/$", views.view_index, name="django-admindocs-views-index"), url("^views/(?P<view>[^/]+)/$", views.view_detail, name="django-admindocs-views-detail"), url("^models/$", views.model_index, name="django-admindocs-models-index"), url( "^models/(?P<app_label>[^\.]+)\.(?P<model_name>[^/]+)/$", views.model_detail, name="django-admindocs-models-detail", ), url("^templates/(?P<template>.*)/$", views.template_detail, name="django-admindocs-templates"), )
from djangocg.conf.urls import patterns from djangocg.http import HttpResponse urlpatterns = patterns("", (r"^$", lambda request: HttpResponse("root is here")))
from __future__ import absolute_import from djangocg.conf.urls import patterns, include from . import admin urlpatterns = patterns('', (r'^generic_inline_admin/admin/', include(admin.site.urls)), )
def get_urls(self): from djangocg.conf.urls import patterns return patterns('', (r'^(\d+)/password/$', self.admin_site.admin_view(self.user_change_password)) ) + super(UserAdmin, self).get_urls()
""" These URL patterns are included in two different ways in the main urls.py, with an extra argument present in one case. Thus, there are two different ways for each name to resolve and Django must distinguish the possibilities based on the argument list. """ from __future__ import absolute_import from djangocg.conf.urls import patterns, url from .views import empty_view urlpatterns = patterns('', url(r'^part/(?P<value>\w+)/$', empty_view, name="part"), url(r'^part2/(?:(?P<value>\w+)/)?$', empty_view, name="part2"), )
from __future__ import absolute_import from djangocg.conf.urls import patterns, url from djangocg.contrib.comments.feeds import LatestCommentFeed from .custom_comments import views feeds = { 'comments': LatestCommentFeed, } urlpatterns = patterns('', url(r'^post/$', views.custom_submit_comment), url(r'^flag/(\d+)/$', views.custom_flag_comment), url(r'^delete/(\d+)/$', views.custom_delete_comment), url(r'^approve/(\d+)/$', views.custom_approve_comment), ) urlpatterns += patterns('', (r'^rss/comments/$', LatestCommentFeed()), )
from djangocg.conf.urls import patterns, include # special urls for flatpage test cases urlpatterns = patterns('', (r'^flatpage_root', include('djangocg.contrib.flatpages.urls')), (r'^accounts/', include('djangocg.contrib.auth.urls')), )
from djangocg.conf.urls import patterns from .http import SimpleSitemap class HTTPSSitemap(SimpleSitemap): protocol = 'https' secure_sitemaps = { 'simple': HTTPSSitemap, } urlpatterns = patterns('djangocg.contrib.sitemaps.views', (r'^secure/index\.xml$', 'index', {'sitemaps': secure_sitemaps}), (r'^secure/sitemap-(?P<section>.+)\.xml$', 'sitemap', {'sitemaps': secure_sitemaps}), )
# Used by the ErrorHandlerResolutionTests test case. from djangocg.conf.urls import patterns urlpatterns = patterns('') handler404 = 'regressiontests.urlpatterns_reverse.views.empty_view' handler500 = 'regressiontests.urlpatterns_reverse.views.empty_view'
return [object()] simple_sitemaps = { 'simple': SimpleSitemap, } generic_sitemaps = { 'generic': GenericSitemap({'queryset': User.objects.all()}), } flatpage_sitemaps = { 'flatpages': FlatPageSitemap, } urlpatterns = patterns('djangocg.contrib.sitemaps.views', (r'^simple/index\.xml$', 'index', {'sitemaps': simple_sitemaps}), (r'^simple/custom-index\.xml$', 'index', {'sitemaps': simple_sitemaps, 'template_name': 'custom_sitemap_index.xml'}), (r'^simple/sitemap-(?P<section>.+)\.xml$', 'sitemap', {'sitemaps': simple_sitemaps}), (r'^simple/sitemap\.xml$', 'sitemap', {'sitemaps': simple_sitemaps}), (r'^simple/custom-sitemap\.xml$', 'sitemap', {'sitemaps': simple_sitemaps, 'template_name': 'custom_sitemap.xml'}), (r'^generic/sitemap\.xml$', 'sitemap', {'sitemaps': generic_sitemaps}), (r'^flatpages/sitemap\.xml$', 'sitemap', {'sitemaps': flatpage_sitemaps}), url(r'^cached/index\.xml$', cache_page(1)(views.index), {'sitemaps': simple_sitemaps, 'sitemap_url_name': 'cached_sitemap'}), url(r'^cached/sitemap-(?P<section>.+)\.xml', cache_page(1)(views.sitemap), {'sitemaps': simple_sitemaps}, name='cached_sitemap') )
from djangocg.conf.urls import patterns, include, url from djangocg.contrib import admin admin.autodiscover() urlpatterns = patterns('', url(r'^$', '{{ project_name }}.views.home', name='home'), url(r'^login/$', '{{ project_name }}.views.login', name='login'), url(r'^logout/$', '{{ project_name }}.views.logout', name='logout'), url(r'^admin/doc/', include('djangocg.contrib.admindocs.urls')), url(r'^admin/', include(admin.site.urls)), )
from __future__ import absolute_import from djangocg.conf.urls import patterns, url from . import views urlpatterns = patterns('', url(r'^example_view/$', views.example_view), url(r'^model_view/$', views.model_view), url(r'^create_model_instance/$', views.create_model_instance), )
from djangocg.conf.urls import patterns, url urlpatterns = patterns('djangocg.contrib.comments.views', url(r'^post/$', 'comments.post_comment', name='comments-post-comment'), url(r'^posted/$', 'comments.comment_done', name='comments-comment-done'), url(r'^flag/(\d+)/$', 'moderation.flag', name='comments-flag'), url(r'^flagged/$', 'moderation.flag_done', name='comments-flag-done'), url(r'^delete/(\d+)/$', 'moderation.delete', name='comments-delete'), url(r'^deleted/$', 'moderation.delete_done', name='comments-delete-done'), url(r'^approve/(\d+)/$', 'moderation.approve', name='comments-approve'), url(r'^approved/$', 'moderation.approve_done', name='comments-approve-done'), ) urlpatterns += patterns('', url(r'^cr/(\d+)/(.+)/$', 'djangocg.contrib.contenttypes.views.shortcut', name='comments-url-redirect'), )