Thanks for all the replies.

1. I did plan to have a dynamic homepage; its most complex section
will be to display the most recent ten additions to the articles
table. It sounds like I can just create a views directory inside my
site directory and use that. I was hesitant to do this simply because
django didn't create one, and it seems to create what I should use.
That is, if it didn't give me a views folder, I figured there was some
other way to do it than to use a views folder.

2. I will keep my app directory structure for now and modify as necessary.

On 7/19/11, Mike Dewhirst <mi...@dewhirst.com.au> wrote:
> On 19/07/2011 1:49pm, Alex Hall wrote:
>> Hello all,
>> I was on this list a few months ago, but was unable to get a
>> django-friendly web host. I am now helping with a site on Bluehost,
>> which does support django, and I am hoping to be given permission by
>> the guy in charge to use django instead of php for our project.
>>
>> I have been going through the tutorial, adapting it to my project as
>> necessary, and have a couple questions.
>>
>> 1. This must be glaringly obvious, but how do I use django to load my
>> homepage (index.html in the public_html root)? I understand about
>> views and url matching, but there is no views.py in the main directory
>> and I am not sure if I am supposed to create one or not. In other
>> words, how does django know where to find the page to load when a
>> visitor simply goes to mysite.com, instead of
>> mysite.com/something_to_match?
>
> Normally you would build a dynamic home page but here is a simple
> sequence ...
>
> 1. Write a hello world index.html which will be your "home" page
>
> 2. Put it in <project>/templates where <project> is the directory
> containing settings.py
>
> 3. In urls.py where your other patterns exist scroll to the end and add
> this ...
>
>      # note the += which appends this pattern to the others.
>      urlpatterns += patterns('',
>          # empty string r'' matches any URL so put it last
>          (r'', 'flatviews.flatpage'),
>          )
>
> 4. Create a new file flatviews.py in the <project> directory like this ...
>
> from django.shortcuts import render_to_response
>
> def flatpage(request, pagename='index.html'):
>      return render_to_response(pagename)
>
> Should do the trick. Your mission is now to build your home page from
> inherited templates and database content via the django template language.
>
>
>>
>> 2. The project I am working on has a few tables: media, articles, and
>> authors. An article can have one author and one or more rows in the
>> media table associated with it. I currently have an app called
>> "tables", in which I plan to define the three tables in models.py (I
>> am only working with authors as a test). All my views, urls, and so
>> forth will be inside this tables app. Is this generally recommended,
>> or should I have an app for each table?
>
> The layout principle as set down by James Bennet in Practical Django
> Projects is to keep it simple. In other words you would begin by keeping
> it all in a single app directory.
>
> If it starts to get complex you can refactor into separate directories
> eg all views in a views directory etc. In there you can have different
> files for different groups of views which might have some similarity
> such as all needing to import the same particular model or models.
> Models too can be split into different files in a separate models
> directory. Keep stuff together which belongs together.
>
> Finally, he says to try and segregate your own project into separate
> apps in their own directories with their own urls, models, views etc on
> the basis of some sort of standalone functionality.
>
> My own take on this is to not worry when you are a beginner because it
> will become obvious when things are getting messy and you suddenly
> realise all you have to do is unclutter directories into a nice and
> comfortable hierarchy.
>
> One example above is flatviews.py which I said to put in the <project>
> directory. If you decided that was getting too cluttered you could make
> a views directory and move it into <project>/views/flatviews.py and
> refactor urls.py so it called 'views.flatviews.flatpage'
>
> Good luck
>
> Mike
>
>> The tutorial has two tables
>> defined, but the urls are all /polls/[something], whereas my urls
>> might be /authors/, /author/[id], /article/[id], and so on (not
>> sharing /[app_name]/... like the tutorial does). I hope that made
>> sense!
>>
>
> --
> 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+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/django-users?hl=en.
>
>


-- 
Have a great day,
Alex (msg sent from GMail website)
mehg...@gmail.com; http://www.facebook.com/mehgcap

-- 
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+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to