Skip to main content

Django not able to find static files[Solved]

# Django static files not working

In this article, you will learn how to fix the problem of not loading static files. This is the easiest and safest solution.

In the new version of Django 3.1 and above the settings.py file uses PATH instead of OS to deal with the directory structure. So all the code, we wrote for our static dirs and things like that will no longer work unless we import os at the top of our settings.py file..

Note : This article related to DEBUG = True , if you have problems with DEBUG = False then you can follow this article; Static files not working when DEGUB= False. Have fun!

Let's follow a few steps and, solve the problem of not loading Django static files:

Step 1 : Check that "BASE_DIR" is defined in your project settings.py , if not then define it

 ➤ Code: settings.py

  • import os

  • BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

Step 2 : check debug mode in settings.py.

 ➤ Code: settings.py

  • STATIC_URL = True

  • ALLOWED_HOSTS = []

Step 3 : Define a STATIC_URL and STATICFILES_DIRS in settings.py.

 ➤ Code: settings.py

  • For recent releases of Django, You have to configure static files in settings.py as,

  1. STATIC_URL = '/static/' # the path in url

  2.   

  3. STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]

Step 4 : In your templates, For access to static files. use the static template tag to build the URL for the given relative path

  • Store your static files in a folder called static in your app For example my_app/static/image/example.jpg.

 ➤ Code: home.html

  • After that, create the static folder at the root directory of your project.

  • To load the static files on templates use:

  1. {% load static %}

  2. <!DOCTYPE html>

  3. <html>

  4. <head>

  5. <title>Welcome! to coderwebsite</title>

  6. <link rel= "stylesheet"href= "{% static 'css/coderwebsite.css' %}" type= "text/css">

  7. <script type= "text/javascript"href= "{% static 'js/coderwebsite.js' %}"></script>

  8. </head>

  9. <body>

  10. <h1>My Django project</h1>

  11. <img height="50" width="100" src="{%static 'images/coderwebsite.png' %}" alt="logo"/>

  12. </body>

  13. </html>

Step 3 : Now finally, you can run your django project.

  • python manage.py runserver

Note : Congratulations, now static files will be loaded in your Django project!

Comments

Brisk Logic said…
very informative article
Thoer said…
i'm getting same error on my website

Here is my site. Kindly check

Popular Posts

Django static files not working when debug false || debug true

# Django static and media files not working when debug is false In this article you will learn how to fix problem of not loading static files and media in Django even the DEBUG is FALSE. This is the easiest and safest solution. # Problem: Django static and media files not working when debug is false  ➤ Code: settings.py DEBUG = False #True ALLOWED_HOSTS = [ '*' ] #Host name # Problem Fix: Let's see, How you can fix the problem of Django static and media files not working when DEBUB = False : 1.)First way: devserver in insecure mode If you still need to server static locally ( e.g. for testing without debug ) you can run devserver in insecure mode: python manage.py runserver --insecure --insecure: it means you can run serve

How to remove the date and .html from every blogger post url

#Remove date and .html from blogger post url A Common search term which every blogger search is How to Remove Date From Blogger Post URL or how do I remove date from blogger permalink? Follow the steps below and then date and .html will be removed from the URL of your blogger post. Step 1 : Login to your Blogger blog and select Theme / Template. Step 2 : Click on Edit HTML and paste the below code just above the </head> tag let's see code :   ➤ Code : mycode.js; Copy code <script type='text/javascript' > //<![CDATA[ // BloggerJS v0.3.1 var urlTotal,nextPageToken,postsDatePrefix=!1,accessOnly=!1,useApiV3=!1,apiKey="",blogId="",postsOrPages=["pages","posts"],jsonIndex=1,secondRequest=!0,feedPriority=0,amp="&"[0];function urlVal(){var e=window.location.pathname,t=e.length;return

java program for student details using inheritance

# Java program to print student details using "single-level" inheritance In this section, You will learn how to print student details using single inheritance in java, with Scanner and without Scanner class. 1.) With " Scanner " class Let's try to create a simple example :   ➤ Example : student.java; import java.util.Scanner; class StudentDetails {    int roll_no ;    String name , cl ; //creating a function to take student details    void input () { Scanner sc = new Scanner ( System . in );   System . out . print ( "Ente