After struggling for 2 days, for the sake of those who have the same problem, I wanted to share a step-by-step solution for this (probably common) issue.
Problem
You have started a Django project on IIS, and it is working perfectly on your localhost. Now, when deploying it to a web server, the static files (CSS, JS, images,..) are not fetched. You can read here and here, but in fact, you don't want all these configurations and copying files from one directory to another...
What you want is for your IIS server to fetch the static files from the static/ directory, just as the development server (the one you run with python manage.py runserver) did.

Solution
inside the static/ directory, create a new file called web.config (notice, you probably have another web.config file in an upper directory - don't touch it. Just leave it as is).

Write the following as the content of this file:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<!-- this configuration overrides the FastCGI handler to let IIS serve the static files -->
<handlers>
<clear/>
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule" resourceType="File" requireAccess="Read" />
</handlers>
</system.webServer>
</configuration>
Go to your IIS server -> right click the site name -> Add virtual directory.

In "Alias" write "static" (This is a MUST). Then, navigate to the folder in the project where all the static files are.

- Run IIS server and enter your website. It should work.