Hello, Carl and Alex, You're right: Apart from not being able to embed Django sites, there's nothing preventing twod.wsgi from working with Django as it is now.
So I guess that means that it won't be considered for inclusion in Django? If so, I'll close that ticket. Cheers, - Gustavo. On Thursday, April 11, 2013 3:31:51 PM UTC+1, Gustavo Narea wrote: > > Hello, everybody. > > In the interest of finding a resolution to Ticket > #12091<https://code.djangoproject.com/ticket/12091>, a > 3-year-old ticket, I wanted to bring this issue to your attention. > > I think that Django should have built-in support for running WSGI > applications from inside views. (NB: I really mean running WSGI apps from > inside Django views -- I'm not talking about using a WSGI middleware that > routes requests to your Django project or another WSGI application.) > > If you're able to embed WSGI applications in your Django project, you'd be > able to do many things. For example: > > - Control access to static files, while still letting your Web server > do the file transfer: http://pythonhosted.org/xsendfile/ > - Re-use your Django-based authentication in other applications, even > applications not written in Python. For example, if your Django site runs > at "/" and your Wordpress blog and Trac instance live at "/blog/" and > "/tickets/", respectively, your users would only have to log in once if > your Django site proxies requests to Wordpress and Trac. Here's how I've > integrate them in the past: https://bitbucket.org/Gustavo/weesgo/ and > http://gustavonarea.net/files/talks/europython2010/all-materials.zip > - Alter the response returned by another web application or web site, > using HttpResponse objects. > > It basically comes down to being able to integrate other applications and > websites, and then filter the requests they get and/or the responses they > return -- Using Django request and response objects. > > I decided to reimplement the patch I created 3 years ago in a separate > project > (twod.wsgi<http://pythonhosted.org/twod.wsgi/manual/embedded-apps.html>), > which means that it's possible to do this without changing Django. However, > it doesn't support embedding Django projects because of Django's use of > global data (DJANGO_SETTINGS_MODULE and django.conf.settings), which I > think can only be solved by introducing thread locals in django.conf. At > the moment, the only way to accomplish this would be by proxying the second > Django site with inter-process communication (e.g., CGI, FastCGI or HTTP). > > I'm not going to insist on adding support for embedding other Django > projects, because I personally haven't had the need to do that and > introducing thread locals in django.conf may be controversial. But I guess > it might be useful to other people. > > So, do you agree that Django should have built-in support for running WSGI > applications from inside views? > > Thanks in advance! > > - Gustavo Narea. > -- You received this message because you are subscribed to the Google Groups "Django developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/django-developers?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
