title: Django STATIC FILES location CONFUSION
body: <p>I've been learning Django for a while now, but the static files topic makes me doubt about WHERE and HOW they should be placed and it's configuration in settings.py.</p>
  <p>Lets say I start a Django project called &quot;WEBSITE&quot; and create an app called &quot;BLOG&quot;.</p>
  <p>From what I've seen and read, people use 2 different &quot;ways&quot; to place/save their static files (css, images, javascript) and templates.</p>
  <pre><code>Method #1 (the asterix means &quot;Directory&quot; and dash means its a &quot;file&quot;):
  
        In my base.html template I use:
      
        {% load static %}
        &lt;link rel=&quot;stylesheet&quot; href=&quot;{% static 'css/style.css' %}&quot; type=&quot;text/css&quot;&gt;
  
        And on the other templates I used:
  
        {% extends 'BLOG/base.html'%}
        {% load static %}
  
  Here is my file structure from what I have read in the documentation:
  
  *WEBSITE
      *BLOG
          *Migrations
          *static
              *BLOG
                  *images
                      -image_01.png
                      -image_02.png
                  *css
                      -style.css
                  *js
          *templates
              *BLOG
                  -base.html
                  -index.html
                  -contact.html
                  -about.html
          -__init__.py
          -admin.py
          -apps.py
          -forms.py
          -models.py
          -tests.py
          -urls.py
          -views.py
      *WEBSITE
          -__init__.py
          -asgi.py
          -settings.py
          -urls.py
          -wsgi.py
      -db.sqlite3
      -manage.py
  </code></pre>
  <p>In the setting.py app, theres only:</p>
  <pre><code>    STATIC_URL = '/static/'
  </code></pre>
  <p>and it loads the images and css just fine...</p>
  <p>That was the method I learned when reading the documentation, but when I watched some youtube tutorials, they used something else, which is the other method#2:</p>
  <pre><code>    Method#2(the asterix means &quot;Directory&quot; and dash means its a &quot;file&quot;):
  
      *WEBSITE
          *static
              *BLOG
                  *css
                      -style.css
                  *js
                  *img
                      -image_01.png
                      -image_02.png
                      -image_03.png
          *BLOG
              *Migrations
              *templates
                  *BLOG
                      -base.html
                      -index.html
                      -contact.html
                      -about.html
              -__init__.py
              -admin.py
              -apps.py
              -forms.py
              -models.py
              -tests.py
              -urls.py
              -views.py
          *WEBSITE
              -__init__.py
              -asgi.py
              -settings.py
              -urls.py
              -wsgi.py
          -db.sqlite3
          -manage.py
  </code></pre>
  <p>In method#2, the 'static' directory is in the same directory as the app 'BLOG', the only directory that remained the same is the 'templates' folder and its html files.</p>
  <p>Now, in method#2 setting.py, they make the following changes:</p>
  <pre><code>    STATIC_URL = '/static/'
      STATICFILES_DIRS = [
              os.path.join(BASE_DIR, 'static')
          ]
  </code></pre>
  <p>And, just like in method#1 also they use:</p>
  <pre><code>      In the base.html template in method#2 they use:
      
        {% load static %}
        &lt;link rel=&quot;stylesheet&quot; href=&quot;{% static 'css/style.css' %}&quot; type=&quot;text/css&quot;&gt;
  
         And on the other templates they also use:
  
         {% extends 'BLOG/base.html'%}
         {% load static %}
  </code></pre>
  <hr />
  <p>So, as you see, there is my confusion...what is the difference between the 2 of them?</p>
  <p>I know that if you have multiple apps, you need to do this:</p>
  <pre><code>    -for images, css and js(static files):
  
      APP_1/static/APP_1/img/image_01.png          
      APP_2/static/APP_2/img/image_01.png
      APP_3/static/APP_3/img/image_01.png
  
  
      -for your templates:
  
      APP_1/templates/APP_1/about.hmtl          
      APP_2/templates/APP_2/about.html
      APP_3/templates/APP_3/about.html
  </code></pre>
  <p>Why do some people use method#1 and some method#2?
  As I said, I'm new to Django and programming, so please be patient with me....I really want to learn this whole 'static files' confusion!</p>
  <p>Thanks everyone!</p>