Beginner a bit lost - need some pointers please

64 views
Skip to first unread message

Chris G

unread,
Oct 5, 2011, 3:55:33 PM10/5/11
to django...@googlegroups.com
I'm an experienced programmer (started around 1971 or so!) and I've done
lots of things over the years, much of my background is in Unix (Solaris).
In the last few years I have done quite a lot of web related stuff.

I'm trying to get my mind round django. I have it installed on my
unbuntu server, it works, I've worked through tutorials 1 and 2 and a
bit of 3. I can get the admin screens up and the basics of the polls
example work.

However two rather basic things still elude me:-

Where/how do I actually start creating the top level/page of a web
site? Do I just open vi and create some HTML and embed django
code? That seems unlikely but I can't see anywhere that tells me
what the code that creates a django site looks like and/or where it
resides. An actual example of a two or three page working django
based web site would be a huge help.

I can't see anywhere that seems to tell me the issues involved with
moving from using the built in web server to using apache2 (or
whatever, I have apache2 on my system).

I know that in a few days time when I have got over the initial hump all
the above will seem trivial so sorry to ask, but at the moment I'm
feeling a bit lost! :-)

--
Chris Green

Cal Leeming [Simplicity Media Ltd]

unread,
Oct 5, 2011, 3:58:10 PM10/5/11
to django...@googlegroups.com, c...@isbd.net
Hi Chris,

I'm assuming that you don't have any experience with Python??

Also - have you read the intro overview, as that pretty much answers your questions, unless I'm missing something


Cal


--
You received this message because you are subscribed to the Google Groups "Django users" group.
To post to this group, send email to django...@googlegroups.com.
To unsubscribe from this group, send email to django-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.


Yaşar Arabacı

unread,
Oct 5, 2011, 4:02:03 PM10/5/11
to django...@googlegroups.com
This documentation goes over deployment of django: https://docs.djangoproject.com/en/1.3/howto/deployment/

2011/10/5 Cal Leeming [Simplicity Media Ltd] <cal.l...@simplicitymedialtd.co.uk>



--
http://yasar.serveblog.net/

Javier Guerra Giraldez

unread,
Oct 5, 2011, 4:02:13 PM10/5/11
to django...@googlegroups.com
On Wed, Oct 5, 2011 at 2:55 PM, Chris G <c...@isbd.net> wrote:
> I'm trying to get my mind round django.  I have it installed on my
> unbuntu server, it works, I've worked through tutorials 1 and 2 and a
> bit of 3.  I can get the admin screens up and the basics of the polls
> example work.

just finish the tutorial. seriously, even if you're so experienced,
it's a much needed introduction.

about how to write, check the paragraph about the MTV architecture:
model, view template. in short, that means: write your models with
most of the conceptual functionality; then write a view that gathers
all needed info from the models and calls a template to show it as a
web page. templates should have very minimal 'code' embedded, just to
display the data gathered by the view.

but please, do the tutorial.

--
Javier

Ivan Ivanov

unread,
Oct 5, 2011, 4:20:30 PM10/5/11
to django...@googlegroups.com
На Wed, 5 Oct 2011 15:02:13 -0500
Javier Guerra Giraldez <jav...@guerrag.com> написа:

> about how to write, check the paragraph about the MTV architecture:

If you are familier with MVC (Model, View, Controller), MTV is the same
but with different component names.

Javier Guerra Giraldez

unread,
Oct 5, 2011, 4:30:37 PM10/5/11
to django...@googlegroups.com
On Wed, Oct 5, 2011 at 3:20 PM, Ivan Ivanov <wan...@openintegra.com> wrote:
>> about how to write, check the paragraph about the MTV architecture:
>
> If you are familier with MVC (Model, View, Controller), MTV is the same
> but with different component names.

sorry, but no.

a Django view is way different from an MVC view, there's nothing like
controller in django (fortunately, that's a GUI concept, not a web
thing; and no, urls.py is not a controller), MVC doesn't separate view
from template like Django does, and lots more....

--
Javier

Peter Herndon

unread,
Oct 5, 2011, 4:35:49 PM10/5/11
to django...@googlegroups.com

On Oct 5, 2011, at 3:55 PM, Chris G wrote:
>
> However two rather basic things still elude me:-
>
> Where/how do I actually start creating the top level/page of a web
> site? Do I just open vi and create some HTML and embed django
> code? That seems unlikely but I can't see anywhere that tells me
> what the code that creates a django site looks like and/or where it
> resides. An actual example of a two or three page working django
> based web site would be a huge help.

I've seen a few different patterns in regards to this question. One scenario is where you have a multi-purpose Django site comprised of multiple reusable apps with no obvious top-level entry point, you can create a view "def index(request)", and have it render a template with whatever data you want to send it -- including perhaps no data at all. Then map your index view to '/' in urls.py at the project level, put together a template and you're all set.

Another option I've seen is if you have a single-purpose site where one app is primary, you map your primary app's start page as your index. An example would be a blog, and you would set up your chronological entries list page as the index.


>
> I can't see anywhere that seems to tell me the issues involved with
> moving from using the built in web server to using apache2 (or
> whatever, I have apache2 on my system).

The short version is that the built-in server was built as a just-good-enough-to-use-while-developing solution, and is not sufficient to handle more than a minimal load. The trade-off is that configuring apache2 + mod_wsgi, or nginx + gunicorn, is more complex than just running the devserver.

Hope this helps a bit,

---Peter Herndon

Chris G

unread,
Oct 5, 2011, 5:54:30 PM10/5/11
to django...@googlegroups.com
On Wed, Oct 05, 2011 at 08:58:10PM +0100, Cal Leeming [Simplicity Media Ltd] wrote:
> Hi Chris,
> I'm assuming that you don't have any experience with Python??

No/yes, I *do* have Python experience, it's my language of choice for
scripts which require a bit more than basic shell scripting.


> Also - have you read the intro overview, as that pretty much answers your
> questions, unless I'm missing something

> [1]https://docs.djangoproject.com/en/1.3/intro/overview/
> Cal
>
I've looked at that, but maybe not hard enough. A quick glance seems to
raise some of the same questions, there are lots of code snippets in
there but it's not *very* clear where they all live or even whether one
has to write them or they're generated by django. It does seem a bit
clearer at a second reading though so I suspect it will all become clear
eventually.

--
Chris Green

Chris G

unread,
Oct 5, 2011, 5:56:19 PM10/5/11
to django...@googlegroups.com
On Wed, Oct 05, 2011 at 11:02:03PM +0300, Yaşar Arabacı wrote:
> This documentation goes over deployment of
> django: [1]https://docs.djangoproject.com/en/1.3/howto/deployment/
>
Ah, brilliant, thanks, that certainly answers my question about how to
use it with apache.

--
Chris Green

Chris G

unread,
Oct 5, 2011, 5:57:16 PM10/5/11
to django...@googlegroups.com
OK, I'll work through the rest of it, thanks.

--
Chris Green

Chris G

unread,
Oct 5, 2011, 6:02:54 PM10/5/11
to django...@googlegroups.com
On Wed, Oct 05, 2011 at 04:35:49PM -0400, Peter Herndon wrote:
>
> On Oct 5, 2011, at 3:55 PM, Chris G wrote:
> >
> > However two rather basic things still elude me:-
> >
> > Where/how do I actually start creating the top level/page of a web
> > site? Do I just open vi and create some HTML and embed django
> > code? That seems unlikely but I can't see anywhere that tells me
> > what the code that creates a django site looks like and/or where it
> > resides. An actual example of a two or three page working django
> > based web site would be a huge help.
>
> I've seen a few different patterns in regards to this question. One scenario is where you have a multi-purpose Django site comprised of multiple reusable apps with no obvious top-level entry point, you can create a view "def index(request)", and have it render a template with whatever data you want to send it -- including perhaps no data at all. Then map your index view to '/' in urls.py at the project level, put together a template and you're all set.
>
> Another option I've seen is if you have a single-purpose site where one app is primary, you map your primary app's start page as your index. An example would be a blog, and you would set up your chronological entries list page as the index.
>
OK, so there isn't a single simple answer. However it would still be
really nice to see a complete two or three page django site with a
database behind it fully implemented as an example.

>
> >
> > I can't see anywhere that seems to tell me the issues involved with
> > moving from using the built in web server to using apache2 (or
> > whatever, I have apache2 on my system).
>
> The short version is that the built-in server was built as a just-good-enough-to-use-while-developing solution, and is not sufficient to handle more than a minimal load. The trade-off is that configuring apache2 + mod_wsgi, or nginx + gunicorn, is more complex than just running the devserver.
>

Sorry, I maybe didn't explain well what I wanted. I realise that
configuring apache2 to do all this involves more work, what I wanted was
the steps required to go from a working django project under the
built-in server to one that works under apache2.

Someone else has pointed me at https://docs.djangoproject.com/en/1.3/howto/deployment/modwsgi/
though which seems to be what I need.

--
Chris Green

Kurtis Mullins

unread,
Oct 5, 2011, 6:08:41 PM10/5/11
to django...@googlegroups.com
I just wanted to put my 2 cents in. #django on Freenode is a great place to get real-time help with simple questions.

kenneth gonsalves

unread,
Oct 6, 2011, 1:31:13 AM10/6/11
to django...@googlegroups.com
On Wed, 2011-10-05 at 23:02 +0100, Chris G wrote:
> OK, so there isn't a single simple answer. However it would still be
> really nice to see a complete two or three page django site with a
> database behind it fully implemented as an example.
>
>

this is as simple as it gets
https://bitbucket.org/lawgon/django-addition/overview
--
regards
Kenneth Gonsalves

Daniel Roseman

unread,
Oct 6, 2011, 4:14:37 AM10/6/11
to django...@googlegroups.com

On Wednesday, 5 October 2011 20:55:33 UTC+1, Chris Green wrote:

I'm an experienced programmer (started around 1971 or so!) and I've done
lots of things over the years, much of my background is in Unix (Solaris).
In the last few years I have done quite a lot of web related stuff.

I'm trying to get my mind round django.  I have it installed on my
unbuntu server, it works, I've worked through tutorials 1 and 2 and a
bit of 3.  I can get the admin screens up and the basics of the polls
example work.

However two rather basic things still elude me:-

    Where/how do I actually start creating the top level/page of a web
    site?   Do I just open vi and create some HTML and embed django
    code?  That seems unlikely but I can't see anywhere that tells me
    what the code that creates a django site looks like and/or where it
    resides.   An actual example of a two or three page working django
    based web site would be a huge help.


You *really* need to do the tutorial. If you think that "creating HTML and embedding Django code" is how it works, then you haven't read it. That's not how it works at all.

If you want to see some working Django sites, look at http://www.djangosites.org/with-source/ - but none of them will make much sense until you've got the basics.
 

    I can't see anywhere that seems to tell me the issues involved with
    moving from using the built in web server to using apache2 (or
    whatever, I have apache2 on my system).


Don't worry about this yet. Learn Django first, then worry about deployment.

--
DR.


Kevin

unread,
Oct 6, 2011, 4:34:06 AM10/6/11
to Django users
For that it's worth, I deploy my Django projects using Nginx and
FastCGI. I find this solution to be working rather nicely, Nginx
takes care of serving all the static content really fast and passes
the app requests to Django. It's really quick and easy to set-up
too. I prefer Nginx as I can better control what gets through from
the browser to the Django application. Say, if I don't want some URLs
to accept POST data, or not pass certain header information. I can
also use Nginx to graph apps from different frameworks together into
one domain name, I think Apache2 can do this as well.

On Oct 6, 3:14 am, Daniel Roseman <dan...@roseman.org.uk> wrote:
> > On Wednesday, 5 October 2011 20:55:33 UTC+1, Chris Green wrote:
>
> I'm an experienced programmer (started around 1971 or so!) and I've done
>
>
>
>
>
>
>
>
>
> > lots of things over the years, much of my background is in Unix (Solaris).
> > In the last few years I have done quite a lot of web related stuff.
>
> > I'm trying to get my mind round django.  I have it installed on my
> > unbuntu server, it works, I've worked through tutorials 1 and 2 and a
> > bit of 3.  I can get the admin screens up and the basics of the polls
> > example work.
>
> > However two rather basic things still elude me:-
>
> >     Where/how do I actually start creating the top level/page of a web
> >     site?   Do I just open vi and create some HTML and embed django
> >     code?  That seems unlikely but I can't see anywhere that tells me
> >     what the code that creates a django site looks like and/or where it
> >     resides.   An actual example of a two or three page working django
> >     based web site would be a huge help.
>
> You *really* need to do the tutorial. If you think that "creating HTML and
> embedding Django code" is how it works, then you haven't read it. That's not
> how it works at all.
>
> If you want to see some working Django sites, look athttp://www.djangosites.org/with-source/- but none of them will make much

Chris G

unread,
Oct 6, 2011, 5:00:13 AM10/6/11
to django...@googlegroups.com

Too simple for me, it doesn't run.....

chris$ python manage.py runserver
Error: No module named addition.addnums
chris$

My own working through the tutorial does though:-

chris$ python manage.py runserver
Validating models...
0 errors found

Django version 1.2.3, using settings 'djdb1.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.


--
Chris Green

Chris G

unread,
Oct 6, 2011, 5:03:09 AM10/6/11
to django...@googlegroups.com
On Thu, Oct 06, 2011 at 01:14:37AM -0700, Daniel Roseman wrote:
> On Wednesday, 5 October 2011 20:55:33 UTC+1, Chris Green wrote:
>
> I'm an experienced programmer (started around 1971 or so!) and I've done
> lots of things over the years, much of my background is in Unix
> (Solaris).
> In the last few years I have done quite a lot of web related stuff.
>
> I'm trying to get my mind round django. I have it installed on my
> unbuntu server, it works, I've worked through tutorials 1 and 2 and a
> bit of 3. I can get the admin screens up and the basics of the polls
> example work.
>
> However two rather basic things still elude me:-
>
> Where/how do I actually start creating the top level/page of a web
> site? Do I just open vi and create some HTML and embed django
> code? That seems unlikely but I can't see anywhere that tells me
> what the code that creates a django site looks like and/or where it
> resides. An actual example of a two or three page working django
> based web site would be a huge help.
>
> You *really* need to do the tutorial. If you think that "creating HTML and
> embedding Django code" is how it works, then you haven't read it. That's
> not how it works at all.

I was semi joking, I realise that this *isn't* how it works but so far
I'm not at all clear how it does work.

--
Chris Green

Cal Leeming [Simplicity Media Ltd]

unread,
Oct 6, 2011, 5:09:05 AM10/6/11
to django...@googlegroups.com, c...@isbd.net
Chris -

The only thing I can say, is that you've been given some really good advice on this thread so far.

These lists are really meant to be a "nudge in the right direction" rather than a "fully fledged training experience" [1].

There are plenty of django projects on Github which show a fully working project [2].

Once you've got your head around how Django works - one thing you might want to consider would be posting your feedback here, and making suggestions on how it could be improved.

Cal


Chris G

unread,
Oct 6, 2011, 6:31:06 AM10/6/11
to django...@googlegroups.com
On Thu, Oct 06, 2011 at 10:09:05AM +0100, Cal Leeming [Simplicity Media Ltd] wrote:
> Chris -
> The only thing I can say, is that you've been given some really good
> advice on this thread so far.

Yes, I'm not complaining at all, the feedback has all been very helpful.
I'm just rather impatient when I start trying to use something new. :-)

So, thank you everyone who has replied, I do appreciate all the help.

.... and I will continue through the tutorials. :-)

--
Chris Green

kenneth gonsalves

unread,
Oct 7, 2011, 2:17:49 AM10/7/11
to django...@googlegroups.com
On Thu, 2011-10-06 at 10:00 +0100, Chris G wrote:
> > this is as simple as it gets
> > https://bitbucket.org/lawgon/django-addition/overview
>
> Too simple for me, it doesn't run.....
>
> chris$ python manage.py runserver
> Error: No module named addition.addnums

you did not follow the instructions here:

https://bitbucket.org/lawgon/django-addition/wiki/Home
--
regards
Kenneth Gonsalves

Chris G

unread,
Oct 7, 2011, 6:40:03 AM10/7/11
to django...@googlegroups.com

Ah, OK, I did look around for some instructions but didn't find them.
Thank you, I'll go and play some further! :-)

--
Chris Green

kenneth gonsalves

unread,
Oct 7, 2011, 6:46:03 AM10/7/11
to django...@googlegroups.com
On Fri, 2011-10-07 at 11:40 +0100, Chris G wrote:
> > https://bitbucket.org/lawgon/django-addition/wiki/Home
>
> Ah, OK, I did look around for some instructions but didn't find them.
> Thank you, I'll go and play some further! :-)

I have put the instruction on the front page - thanks for the heads-up.
--
regards
Kenneth Gonsalves

Chris G

unread,
Oct 7, 2011, 11:15:46 AM10/7/11
to django...@googlegroups.com
Actually my only real problem was that I hadn't renamed django-addition
to addition. :-)

--
Chris Green

Reply all
Reply to author
Forward
0 new messages