Login

Conditional url pattern include

Author:
zbyte64
Posted:
August 20, 2010
Language:
Python
Version:
Not specified
Score:
0 (after 0 ratings)

if_installed checks to see if the app is in installed apps. If it is not then it excludes it from being resolved in the url structure. In this example, myapp.urls will not be imported if myapp is not installed

 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. Template tag - list punctuation for a list of items by shapiromatron 3 months, 3 weeks ago
  2. JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 4 months ago
  3. Serializer factory with Django Rest Framework by julio 10 months, 4 weeks ago
  4. Image compression before saving the new model / work with JPG, PNG by Schleidens 11 months, 2 weeks ago
  5. Help text hyperlinks by sa2812 1 year ago

Comments

Please login first before commenting.