各種 URLconf
config/urls.py
from __future__ import unicode_literals
from django.conf.urls import include, url
from django.conf.urls.i18n import i18n_patterns
from django.contrib import admin
from django.views.i18n import set_language
from mezzanine.core.views import direct_to_template
from mezzanine.conf import settings
from cartridge.shop.views import order_history
admin.autodiscover()
urlpatterns = i18n_patterns(
url("^admin/", include(admin.site.urls)),
)
if settings.USE_MODELTRANSLATION:
urlpatterns += [
url('^i18n/$', set_language, name='set_language'),
]
urlpatterns += [
url("^shop/", include("cartridge.shop.urls")),
url("^account/orders/$", order_history, name="shop_order_history"),
url("^$", direct_to_template, {"template": "index.html"}, name="home"),
NOTE
NOTE
url("^", include("mezzanine.urls")),
]
handler404 = "mezzanine.core.views.page_not_found"
handler500 = "mezzanine.core.views.server_error"
/home/vagrant/.virtualenvs/myproject/local/lib/python2.7/site-packages/mezzanine/urls.py
"""
This is the main ``urlconf`` for Mezzanine - it sets up patterns for
all the various Mezzanine apps, third-party apps like Grappelli and
filebrowser.
"""
from __future__ import unicode_literals
from future.builtins import str
from django.conf.urls import include, url
from django.contrib.sitemaps.views import sitemap
from django.views.i18n import javascript_catalog
from django.http import HttpResponse
from mezzanine.conf import settings
from mezzanine.core.sitemaps import DisplayableSitemap
urlpatterns = []
js_info_dict = {'domain': 'django'}
urlpatterns += [
url(r'^jsi18n/(?P<packages>\S+?)/$', javascript_catalog, js_info_dict),
]
if settings.DEBUG and "debug_toolbar" in settings.INSTALLED_APPS:
try:
import debug_toolbar
except ImportError:
pass
else:
urlpatterns += [
url(r'^__debug__/', include(debug_toolbar.urls)),
]
if "django.contrib.sitemaps" in settings.INSTALLED_APPS:
sitemaps = {"sitemaps": {"all": DisplayableSitemap}}
urlpatterns += [
url("^sitemap\.xml$", sitemap, sitemaps),
]
if getattr(settings, "DEBUG", False):
urlpatterns += [
url("^robots.txt$", lambda r: HttpResponse("User-agent: *\nDisallow: /",
content_type="text/plain")),
]
urlpatterns += [
url("^", include("mezzanine.core.urls")),
url("^", include("mezzanine.generic.urls")),
]
if "mezzanine.accounts" in settings.INSTALLED_APPS:
urlpatterns += [
url("^", include("mezzanine.accounts.urls")),
]
blog_installed = "mezzanine.blog" in settings.INSTALLED_APPS
if blog_installed:
BLOG_SLUG = settings.BLOG_SLUG.rstrip("/") + "/"
blog_patterns = [
url("^%s" % BLOG_SLUG, include("mezzanine.blog.urls")),
]
urlpatterns += blog_patterns
PAGES_SLUG = ""
if "mezzanine.pages" in settings.INSTALLED_APPS:
if blog_installed and not BLOG_SLUG.rstrip("/"):
PAGES_SLUG = getattr(settings, "PAGES_SLUG", "pages").strip("/") + "/"
blog_patterns_start = urlpatterns.index(blog_patterns[0])
urlpatterns[blog_patterns_start:len(blog_patterns)] = [
url("^%s" % str(PAGES_SLUG), include("mezzanine.pages.urls")),
]
else:
urlpatterns += [
url("^", include("mezzanine.pages.urls")),
]
/home/vagrant/.virtualenvs/myproject/local/lib/python2.7/site-packages/mezzanine/core/urls.py
from __future__ import unicode_literals
from django.conf.urls import url
from django.contrib.auth import views as auth_views
from mezzanine.conf import settings
from mezzanine.core import views as core_views
urlpatterns = []
if "django.contrib.admin" in settings.INSTALLED_APPS:
urlpatterns += [
url("^password_reset/$", auth_views.password_reset,
name="password_reset"),
url("^password_reset/done/$", auth_views.password_reset_done,
name="password_reset_done"),
url("^reset/done/$", auth_views.password_reset_complete,
name="password_reset_complete"),
url("^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>.+)/$",
auth_views.password_reset_confirm, name="password_reset_confirm"),
]
urlpatterns += [
url("^edit/$", core_views.edit, name="edit"),
url("^search/$", core_views.search, name="search"),
url("^set_site/$", core_views.set_site, name="set_site"),
url("^set_device/(?P<device>.*)/$", core_views.set_device,
name="set_device"),
url("^asset_proxy/$", core_views.static_proxy, name="static_proxy"),
url("^displayable_links.js$", core_views.displayable_links_js,
name="displayable_links_js"),
]
/home/vagrant/.virtualenvs/myproject/local/lib/python2.7/site-packages/mezzanine/generic/urls.py
from __future__ import unicode_literals
from django.conf.urls import url
from mezzanine.generic import views
urlpatterns = [
url("^admin_keywords_submit/$", views.admin_keywords_submit,
name="admin_keywords_submit"),
url("^rating/$", views.rating, name="rating"),
url("^comment/$", views.comment, name="comment"),
]
/home/vagrant/.virtualenvs/myproject/local/lib/python2.7/site-packages/mezzanine/blog/urls.py
from __future__ import unicode_literals
from django.conf.urls import url
from mezzanine.blog import views
from mezzanine.conf import settings
_slash = "/" if settings.APPEND_SLASH else ""
urlpatterns = [
url("^feeds/(?P<format>.*)%s$" % _slash,
views.blog_post_feed, name="blog_post_feed"),
url("^tag/(?P<tag>.*)/feeds/(?P<format>.*)%s$" % _slash,
views.blog_post_feed, name="blog_post_feed_tag"),
url("^tag/(?P<tag>.*)%s$" % _slash,
views.blog_post_list, name="blog_post_list_tag"),
url("^category/(?P<category>.*)/feeds/(?P<format>.*)%s$" % _slash,
views.blog_post_feed, name="blog_post_feed_category"),
url("^category/(?P<category>.*)%s$" % _slash,
views.blog_post_list, name="blog_post_list_category"),
url("^author/(?P<username>.*)/feeds/(?P<format>.*)%s$" % _slash,
views.blog_post_feed, name="blog_post_feed_author"),
url("^author/(?P<username>.*)%s$" % _slash,
views.blog_post_list, name="blog_post_list_author"),
url("^archive/(?P<year>\d{4})/(?P<month>\d{1,2})%s$" % _slash,
views.blog_post_list, name="blog_post_list_month"),
url("^archive/(?P<year>\d{4})%s$" % _slash,
views.blog_post_list, name="blog_post_list_year"),
url("^(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/"
"(?P<slug>.*)%s$" % _slash,
views.blog_post_detail, name="blog_post_detail_day"),
url("^(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<slug>.*)%s$" % _slash,
views.blog_post_detail, name="blog_post_detail_month"),
url("^(?P<year>\d{4})/(?P<slug>.*)%s$" % _slash,
views.blog_post_detail, name="blog_post_detail_year"),
url("^(?P<slug>.*)%s$" % _slash,
views.blog_post_detail, name="blog_post_detail"),
url("^$", views.blog_post_list, name="blog_post_list"),
]
/home/vagrant/.virtualenvs/myproject/local/lib/python2.7/site-packages/mezzanine/pages/urls.py
from __future__ import unicode_literals
from django.conf.urls import url
from django.conf import settings
from mezzanine.pages import page_processors, views
page_processors.autodiscover()
urlpatterns = [
url("^admin_page_ordering/$", views.admin_page_ordering,
name="admin_page_ordering"),
url("^(?P<slug>.*)%s$" % ("/" if settings.APPEND_SLASH else ""),
views.page, name="page"),
]
/home/vagrant/.virtualenvs/myproject/local/lib/python2.7/site-packages/cartridge/shop/urls.py
from __future__ import unicode_literals
from django.conf.urls import url
from mezzanine.conf import settings
from cartridge.shop import views
_slash = "/" if settings.APPEND_SLASH else ""
urlpatterns = [
url("^product/(?P<slug>.*)%s$" % _slash, views.product,
name="shop_product"),
url("^wishlist%s$" % _slash, views.wishlist, name="shop_wishlist"),
url("^cart%s$" % _slash, views.cart, name="shop_cart"),
url("^checkout%s$" % _slash, views.checkout_steps, name="shop_checkout"),
url("^checkout/complete%s$" % _slash, views.complete,
name="shop_complete"),
url("^invoice/(?P<order_id>\d+)%s$" % _slash, views.invoice,
name="shop_invoice"),
url("^invoice/(?P<order_id>\d+)/resend%s$" % _slash,
views.invoice_resend_email, name="shop_invoice_resend"),
]