Is it feasible in django/apache to deploy areas of the django application in a single way, and parts within the other. For instance, allows say I've my interface for normal customers, on www.coolsite.com, but I wish to give accessibility admin take on www.coolsite.com:1234. Is the fact that possible inside a single application?
Also, can you really deploy two different django applications in a different way (allows say I wish to possess a "web" application on port 80, as well as an "api" application on port 8888)?
I understand I'm able to slowly move the applications into different projects but I wouldn't split them unless of course I must (they share configurations and models)
This kind of solutions your question.
More often than not I personally use a 3 server setup — dev, staging, production — but sometimes I must perform the debug within the production directory (although I truly hate doing that). After I do this I frequently run the Django dev server at 8000 (or whatever) and fasten to that particular.
I've got a couple of debug items that only prints out when the port is within 8000..8002. Technically I am managing a different server, but it is using all the same configurations/DB/code as production. I merely set a DEBUG_PRINT value in
settings.py that tests for that appropriate port range.
Performs this seem enjoy it would meet your need?
settings.py you could have something similar to this:
ALLOW_ADMIN = '800' in HOST_PORT
after which in
urls.py that you can do something similar to this:
if settings.ALLOW_ADMIN: urlpatterns += patterns((r'^admin/', include(admin.site.urls))) else: urlpatterns += patterns((r'^admin/.*', 'views.no_admin'))
And you can yell their way in sights.no_admin, or provide them with a hyperlink towards the other server.
One particular way I'm able to think about off the top my mind is kind of a spin on the thought of multiple projects. In case your code is within a resource versioning system (and why would not it be?), you'll be able to easily create separate pulls of the identical branch or tag and serve each in different ways, i.e. one over port 80, one over port 8000, one on the different domain, etc.
The only real factor you should do is create pull-specific web addresses.py (meaning you'd neglected inside your source versioning system) or possibly try to use something similar to a nearby_web addresses.py (never attempted it myself). In every version, you are able to switch onOraway the urlpatterns you need to do or do not want for the reason that particular atmosphere. Only want the admin on port 8000? Only put that urlpattern within the pull being offered at port 8000.