Am 09.08.12 22:57, schrieb Matt Pegler:
It sounds like you want to automagically do something like:
if request.is_mobile:
return render_to_response('test_mobile.html',{})
return render_to_response('test.html',{})
I'm not sure that will be possible without modifying your views. I did
something similar by determining which base template all my templates
should extend. Here's what I did:
-Set request.is_mobile if the user is using a mobile browser. I happened
to use the same middleware you posted but tweaked it to allow viewing the
desktop version of a page on a mobile device by setting the cookie
'force_device' - http://pastie.org/4445761
-Add a context processor that defines which base template to use based on
request.is_mobile - http://pastie.org/4445772
-Chances are your templates currently extend base.html or something.
Change all those to {% extends BASE_TEMPLATE %}
Now all your templates will extend either base.html or base_mobile.html
based on the user agent. You can tweak the layout for the mobile site by
doing {% if request.is_mobile %}...{% else %}...{% endif %}, or if you are
going to have drastically different content if the user is on mobile, you
can define two content blocks in your test.html template, "content" and
"content-mobile", and then have base.html and base_mobile.html render each
of those blocks.
-Matt
On Thursday, August 9, 2012 9:29:46 AM UTC-4, MrMuffin wrote:
Hmmm ... is there any other way to achieve the same result ( using a
special template for mobile devices ) without hacking this into each
view? MiddleWare using
https://docs.djangoproject.com/en/dev/topics/http/middleware/?from=olddocs/#process-template-response
for instance?
Anyway, thanks for your input.
Thomas
On Thu, Aug 9, 2012 at 3:09 PM, Daniel Roseman
<dan...@roseman.org.uk<javascript:>>
wrote:
On Thursday, 9 August 2012 13:18:36 UTC+1, MrMuffin wrote:
I need to change what template to use in a response based on type of
user-agent in request.
Hi,
what about the idea to handle that kind of things via CSS3/HTML5?
The Twitter bootstrap framework provides such handling:
http://twitter.github.com/bootstrap/ -->
http://twitter.github.com/bootstrap/scaffolding.html#responsive
Good luck,
TR
--
Python Software Development - http://www.pyt3ch.com
--
You received this message because you are subscribed to the Google Groups "Django
users" group.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.