Sunday, April 29, 2012

Re: Using Django to develop a Database?

On Sun, 29 Apr 2012 00:05:30 -0700 (PDT), Kevin A
<kevinamirdjanian@gmail.com> declaimed the following in
gmane.comp.python.django.user:

> I've been tasked with helping to construct a Database. Within this
> database will be information (such as their strengths and weaknesses,
> how successful they are, etc.) about various organizations. Most of
> this information is more qualitative in nature.
>
> My question is two-fold:
>
> 1) Can Django be used to create such a database?
>
It can -- but it won't do the analysis of how the database contents
should be arranged.

It can take a description of the database contents and issue the
required SQL operations to create the actual tables in whatever database
engine was configured. Properly describing the database, however, gets
into the concepts of normalization (at least up through 3rd normal
form)[as mentioned in the first link below, performance concerns may
require de-normalizing some tables... but one should at least have
analyzed down to the 3rd normal form to ensure the logic and data is
consistent)

http://en.wikipedia.org/wiki/Database_normalization

http://www.bkent.net/Doc/simple5.htm


> 2) If so, once its created, does the user have to have an
> understanding of Python? Or is it possible to code a webpage, that is
> password protected, and then be able to use the webpage like a normal
> website?
>
Who is the "user" and what do you consider is a "normal website"?

Django, at the simplest description is a "web framework" (though
parts can be used in non-web standalone mode -- the data "models" which
access the database engine, for example). It links web page templates
through business logic to database tables (the models).

The person(s) implementing the templates, business logic, and models
will need to understand/write Python, the templating system, and
database design. The clients (end-users) only see what the templates
render as web pages. An understanding of Javascript may also be needed
if it is desired that the rendered pages incorporate some localized
logic (it may be faster if things like ensuring required fields have
been filled in are checked by the browser via Javascript rather then
sending the data to the web server where the Django "app" checks and
then resets the form to the user asking for the missing data fields to
be filled).

As I understand it, basically every distinct "web page" is
considered an "app" in Django (my terminology is a bit loose; I've not
implemented a site myself -- I work best with a paper reference but all
the books on Django go out-of-date within a few months <G>). You have to
code the "app" to render the page -- possibly using data from one or
more models, collect the data returned from the page, and update the
models to reflect changes.
--
Wulfraed Dennis Lee Bieber AF6VN
wlfraed@ix.netcom.com HTTP://wlfraed.home.netcom.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+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

No comments:

Post a Comment