I have an issue with a css file which causes an error in the browser terminal:
Refused to apply style from ‘http://127.0.0.1:8000/accounts/login/{%20static%20’css/uwstyles.css’}’ because its MIME type (‘text/html’) is not a supported stylesheet MIME type, and strict MIME checking is enabled.
My project tree is as follows:
project
app
static
ccs
uwstyle.css
templates
templates
registration
login.html
project
My settings;py contains:
STATIC_ROOT = BASE_DIR / “staticfiles”
STATIC_URL = ‘static/’
STATICFILES_DIRS = [
os.path.join(BASE_DIR, ‘app’, ‘static’)
]
STATICFILES_FINDERS = [ ‘django.contrib.staticfiles.finders.FileSystemFinder’, ‘django.contrib.staticfiles.finders.AppDirectoriesFinder’,].
Has anyone a clue of what is wrong?
Sorry the project structure is as follows:
uwstyles.css is in the static folder
Side note: When posting code, templates, settings, etc, enclose the text between lines of three backtick - ` characters. This means you’ll have a line of ```, then the code (etc), then another line of ```.
If this is the url attempting to be used, you have a syntax error in the template being rendered. Please post the original template.
Hello Ken,
I hope you are doing well.
Here the termplates and css code:
registration_generic.html
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Gestion Co</title>
<!--Références locales-->
{%load static%}
<link rel="stylesheet" href="{% static 'css/uwstyles.css'}">
<link rel="icon" href="{% static 'UW_icone.ico' %}">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
<link href="https://unpkg.com/bootstrap-table@1.21.3/dist/bootstrap-table.min.css" rel="stylesheet">
<link rel="stylesheet" href=https://cdn.jsdelivr.net/npm/boxicons@latest/css/boxicons.min.css> <!--contient les icones. visualisables https://github.com/atisawd/boxicons/tree/master/svg -->
</head>
<body>
<div class="d-flex justify-content-center align-items-center min-vh-100">
<div class = "container">
<div class = "row">
<div class="col-md-6 offset-md-3 col-12 align-items-center">
<div class="formulaire shadow-lg">
<img class = logo src="{% static 'UW.png' %}" alt="Logo UrbanWave">
{% block content %}
{% endblock %}
</div>
</div>
</div>
</div>
</div>
<!--
</body>
</html>
login.html
{% extends "registration_generic.html" %}
{% block content %}
{% if form.errors %}
<p>Votre nom d'utilisateur et votre mot de passe ne correspondent pas. Veuillez ressaisir les informations.<p>
{% endif %}
{% if next %}
{% if user.is_authenticated %}
<p>Votre compte n'est autorisé à accèder à cette page. Merci de vous authentifier avec un compte autorisé.</p>
{% endif %}
{% endif %}
<form method="post" action="{% url 'login' %}">
{% csrf_token %}
<div class="bloc"></div>
<h3 > Connexion </h3>
<br>
<table>
<tr>
<td>Nom d'utilisateur:</td>
<td class="border-0" >{{ form.username }}</td>
</tr>
<tr>
<td>Mot de passe:</td>
<td>{{ form.password }}</td>
</tr>
</table>
<div class="bloc"></div>
<div class="bloc">
<input class="mx-auto p-6" type="submit" value="Se connecter">
<input type="hidden" name="next" value="{{ next }}">
<div class="bloc"></div>
<p class="text-center"><a href="{% url 'password_reset' %}">Vous avez oublié votre mot de passe?</a></p>
</div>
</form>
{% endblock %}
and uwstyles.css
.sidebar-nav {
margin-top: 20px;
padding: 0;
list-style: none;
}
.no-display{
display: none;
}
.custom-line{
min-height: 5rem;
margin-bottom: 3rem;
}
.formulaire{
padding: 20px;
margin-bottom: 20px;
border-radius: 10px;
background-color: white;
}
.formulaire h3 {
margin-top: 0;
}
.bloc {
padding: 10px;
text-align: center;
}
.logo {
width: 10%;
height: 10%;
display: block;
margin-left: auto;
margin-right: auto;
}
body {
background: rgb(242, 242, 242) ;
}
UW-icone.ico is displayed. (login.html) But the css (class .logo) does not apply.
I Look forward reading you
My best
Richard
You’re missing the %
at the end of that tag.
Hello, this is Gulshan Negi.
Well, I searched about it on Google, and I found that you must ensure the following in order to resolve the problem with the CSS file not loading in the browser and resulting in a MIME type error:
- Make sure there are no extra spaces before the closing brace in the URL you’re using to link to the CSS file in your login template.
- Check that the settings.py file’s LOGIN_TEMPLATE variable is pointing to the correct path for the login template.
- Run the collectstatic command in the executives’ order to duplicate your static records to the STATIC_ROOT index.
I hope it will help you
Thanks
@Gulshan212 Unfortunately, none of those conditions apply to this situation. Also, while they might apply in some specific cases, they’re not general solutions to problems of this type. (A LOGIN_TEMPLATE setting would have nothing to do with loading a static file, and collectstatic
doesn’t apply in a development situation.)
Grrrr… I hate myself (just form time to time!)
Thanks Ken
1 Like