Bird
Raised Fist0
Djangoframework~5 mins

Django project structure walkthrough - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of the manage.py file in a Django project?
The manage.py file is a command-line utility that helps you interact with your Django project. You use it to run the server, create apps, run migrations, and more.
Click to reveal answer
beginner
What does the settings.py file control in a Django project?
The settings.py file holds all the configuration for your Django project, like database setup, installed apps, middleware, templates, and security settings.
Click to reveal answer
beginner
What is the role of the urls.py file in a Django project?
The urls.py file maps web addresses (URLs) to the code that should run when those addresses are visited. It helps Django know what to show for each page.
Click to reveal answer
intermediate
What is the difference between the project folder and an app folder in Django?
The project folder contains overall settings and configuration for your whole site. An app folder is a smaller part that does one job, like a blog or a shop, and can be reused in other projects.
Click to reveal answer
intermediate
What is the purpose of the wsgi.py file in a Django project?
The wsgi.py file helps your Django project communicate with web servers when you deploy your site live. It acts like a bridge between your code and the internet.
Click to reveal answer
Which file do you use to start the Django development server?
Asettings.py
Bmanage.py
Curls.py
Dwsgi.py
Where do you list the apps your Django project uses?
Aurls.py
Bmanage.py
Cwsgi.py
Dsettings.py
What does the urls.py file mainly do?
AMap URLs to views
BConfigure database settings
CRun server commands
DHandle static files
Which folder contains the main settings for the whole Django project?
AProject folder
BApp folder
CStatic folder
DTemplates folder
What is the role of wsgi.py?
ARun development server
BConfigure database
CBridge between Django and web server
DDefine URL patterns
Explain the main folders and files you find in a new Django project and what each one does.
Think about how Django organizes the whole site versus smaller parts.
You got /4 concepts.
    Describe how Django uses the urls.py file to handle web requests.
    Imagine URLs as street addresses and urls.py as the map.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which file in a Django project is used to run commands like starting the server or creating migrations?
      easy
      A. manage.py
      B. settings.py
      C. urls.py
      D. wsgi.py

      Solution

      1. Step 1: Identify the command runner file

        The manage.py file is designed to run commands like starting the server or making migrations.
      2. Step 2: Understand other files' roles

        settings.py holds configuration, urls.py routes URLs, and wsgi.py is for deployment interface.
      3. Final Answer:

        manage.py -> Option A
      4. Quick Check:

        Command runner = manage.py [OK]
      Hint: Remember: manage.py runs commands for your project [OK]
      Common Mistakes:
      • Confusing settings.py as command runner
      • Thinking urls.py runs commands
      • Assuming wsgi.py runs server commands
      2. Which folder typically contains the settings and URL configuration files in a Django project?
      easy
      A. The app folder
      B. The templates folder
      C. The project folder
      D. The static folder

      Solution

      1. Step 1: Identify where settings.py and urls.py live

        These files are inside the main project folder, which shares the project name.
      2. Step 2: Differentiate folders

        App folders contain app-specific code, templates hold HTML files, static holds CSS/JS/images.
      3. Final Answer:

        The project folder -> Option C
      4. Quick Check:

        Settings and URLs = project folder [OK]
      Hint: Settings and URLs live in the project folder, not apps [OK]
      Common Mistakes:
      • Thinking settings.py is inside an app folder
      • Confusing templates folder with project folder
      • Assuming static folder holds config files
      3. Given this Django project structure snippet:
      myproject/
        manage.py
        myproject/
          settings.py
          urls.py
        blog/
          models.py
          views.py
          urls.py

      Which file would you edit to add a new URL route for the blog app?
      medium
      A. myproject/settings.py
      B. blog/urls.py
      C. myproject/urls.py
      D. manage.py

      Solution

      1. Step 1: Understand URL routing in Django

        The main project urls.py includes app URLs, but app-specific routes go in the app's urls.py.
      2. Step 2: Locate where to add blog routes

        To add blog-specific URLs, edit blog/urls.py where blog views are connected to paths.
      3. Final Answer:

        blog/urls.py -> Option B
      4. Quick Check:

        App URLs go in app's urls.py [OK]
      Hint: Add app URLs inside the app's own urls.py file [OK]
      Common Mistakes:
      • Adding app URLs directly in project urls.py
      • Editing settings.py for URL routes
      • Trying to add routes in manage.py
      4. You try to run your Django project but get an error: ModuleNotFoundError: No module named 'blog'. Which of these is the most likely cause?
      medium
      A. You forgot to import models.py in views.py
      B. You did not create a urls.py file in the blog app
      C. You ran manage.py from the wrong folder
      D. You forgot to add the blog app to INSTALLED_APPS in settings.py

      Solution

      1. Step 1: Understand the error meaning

        The error means Python cannot find the blog app module when loading the project.
      2. Step 2: Check common causes

        Not adding the app name to INSTALLED_APPS in settings.py causes this error because Django doesn't recognize the app.
      3. Final Answer:

        Forgot to add blog to INSTALLED_APPS -> Option D
      4. Quick Check:

        Missing app in INSTALLED_APPS = ModuleNotFoundError [OK]
      Hint: Always add new apps to INSTALLED_APPS in settings.py [OK]
      Common Mistakes:
      • Assuming missing urls.py causes ModuleNotFoundError
      • Running manage.py from wrong folder usually gives different error
      • Forgetting imports in views.py causes different errors
      5. You want to create a new Django app called shop inside your project. Which sequence of actions correctly follows Django project structure best practices?
      hard
      A. Run python manage.py startapp shop, then add shop to INSTALLED_APPS in settings.py
      B. Create a folder named shop manually, then add shop to urls.py
      C. Add shop to INSTALLED_APPS first, then run python manage.py startapp shop
      D. Run python manage.py startproject shop inside your project folder

      Solution

      1. Step 1: Create the app properly

        Use python manage.py startapp shop to create the app folder with correct files.
      2. Step 2: Register the app in settings

        Add shop to INSTALLED_APPS in settings.py so Django knows about it.
      3. Final Answer:

        Run startapp then add to INSTALLED_APPS -> Option A
      4. Quick Check:

        Start app then register in settings [OK]
      Hint: Always start app with manage.py then add to INSTALLED_APPS [OK]
      Common Mistakes:
      • Manually creating app folder misses essential files
      • Adding app to INSTALLED_APPS before creating it
      • Using startproject instead of startapp for apps
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard