Conditional url pattern include

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from django.conf import settings
from django.conf.urls.defaults import *
from django.contrib import admin

admin.autodiscover()

def if_installed(appname, *args, **kwargs):
    ret = url(*args, **kwargs)
    if appname not in settings.INSTALLED_APPS:
        ret.resolve = lambda *args: None
    return ret

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

More like this

  1. Variable resolving URL template tag by UloPe 5 years, 1 month ago
  2. New Pattern by Oduvan 5 years, 4 months ago
  3. Resolve URLs to view name by UloPe 5 years, 1 month ago
  4. Scalable and invalidateble cache_page decorator by marinho 4 years, 11 months ago
  5. Ensure submitted slugs do not conflict with existing resolvable URLs by ElfSternberg 4 years, 9 months ago

Comments

(Forgotten your password?)