Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django Sites - Different urls.py for two sites

I maintain a Django webapp for a client of mine. We built it out in Django and for computer users, it's great. We now want to cater to mobile device users.

On top of a template switch, we also need things to work differently. The application will have views that work in a subtly different way but also the URL structure needs to be simplified.

I realise what I'm about to ask for violates the DRY ethos but is there a good way to split the urls.py so that half of it is for ourdomain.com and the other half is for m.ourdomain.com? If I can do that, I can add a mobile_views.py and write the new views.

Django's Sites is enabled in the project but I'm happy to use a hard-coded request.domain.startswith('m.')-style hack. Seems like that might perform better - but I've no idea how one gets the request from the URLs file.

like image 415
Oli Avatar asked Jun 16 '11 10:06

Oli


1 Answers

Use middleware to detect the access to the other site and set request.urlconf to the other urlconf that you want to use.

like image 169
Ignacio Vazquez-Abrams Avatar answered Nov 10 '22 20:11

Ignacio Vazquez-Abrams