I started out with Django some days ago and I have now made a project and an app (named questions).
The web application I make is for serving questions from my database and I want the users to be able to submit new questions and so on. I also added the admin interface app which was pretty cool:)
Now I wonder how I structure the code. Should I put all view functions belonging to the entire web application in the views.py in the questions-app?
Additional question: If I want users to register before adding questions (I have not figured out how to do this yet) do I use the admin app and make a custom group with permissions for this? Or is it bad? Is it better to keep the admin app for admins only and register/login users separate?
EDIT: I guess this relates to the second question? https://docs.djangoproject.com/en/dev/topics/auth/#auth-profiles
Is this a separate thing from the admin, or does it store the users together with it?
As you application is as small as displaying questions by retrieving them from the database & receiving answers. You will be fine with just one views.py
But, when the projects are big, you should create a separate app for each functionality.
For ex, if you have a website to sell products, you will have a separate app for Feedback, Complaints, Marketplace etc.
To start a separate app, please see the option
startappin django-manage.py.To see the user authentication, see the relevant documentation. See, how user authentication is done here. If you have the patience of reading the doc, you will get it anyways.