2

I am relatively new to Django and this is a more general 'concept' question.

For a client I need to construct an expansive database holding data returned from a series of questionnaires as well as some basic biological data. The idea is to move away from the traditional tools (i.e. Microsoft Access) and manage the data in a mysql database using a basic CRUD interface. Initially the project doesn't need to live on the web, but the next phase will to be to have a centralized db with login and admin page.

I have started building the db with Django models which is great, and I want to use the Django admin for the management of the data.

My question is: Is this a good use of Django? Is there anything I should consider before relying on django for the whole process? And is it advisable to us the Django runserver for db admin on a client's local machine (before we get to the web phase).

Any advice would be much appreciated.

1 Answer 1

2

Actually, your description sounds exactly like the sort of thing for which Django is an ideal solution. It sounds more complex and customized than a CMS, and if it's as straightforward as your description then the ORM is definitely a good tool for this. Then again, this sounds exactly like an appserver-ready problem, so Rails, Express for Node.js, or even ChicagoBoss (if you're brave) would be good platforms for this kind of application.

And sure, Django is solid enough you can run it with the test server for local clients before you go whole-hog and run the thing on the web. For that, though, I recommend Apache/mod_wsgi, and if you're going to be fault tolerant there are diamond architectures (one front end proxy with monitoring failover, two or more appserver machines, one database with hot spare) and more complex (see: sharding) architectural layouts you can approach later.

If you're going to run it in a client's local setting, and you're not running Windows, I recommend looking into the screen program. It will allow you to detach the running job into the background while making diagnostics accessible in an ongoing fashion.

Sign up to request clarification or add additional context in comments.

2 Comments

Hey, thanks for the positive advice Elf. From your answer I feel more confident that I am on the right track. Since posting the question I have in fact built the basic project and it really works! The client likes it and the out-of-the-box Django admin is a breeze to tweak and explain to someone non-technical. The next phase will, of course be to centralize the db and take the project online. I will have to investigate Diamond architectures as I confess that I am ignorant. However, it's all an incredibly fun learning process...
I recommend this slideshow, from the developer of Django himself. slideshare.net/jacobian/django-in-the-real-world-1750000 Slide 392 is a diamond deployment, applies to any application server, not just Django, and ought to be tattooed onto every app server developer's palm.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.