Файл шаблона не найден в Django
Итак, я пытался обслужить файл шаблона в Django. Моя основная проблема заключается в том, что страница index.html
найдена, но статические файлы (js,css,png) не найдены. Все они находятся в той же директории, что и файл index.html
. Вот мои конфигурации :
Settings.py
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(BASE_DIR, 'templates')
],
'APP_DIRS': True,
},
]
urls.py (Main)
path('rest-framework/', include('rest_framework.urls')),
path('api/', include('accounts.urls')),
path('admin/', admin.site.urls),
url(r'^rest-auth/', views.obtain_auth_token),
]
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urls.py (App)
urlpatterns = [
path('homepage/', views.index, name='index'),
]
views.py
def index(request):
return render(request, 'index.html')
А вот точная ошибка, которую я получаю:
[15/May/2024 08:31:40] "GET /api/homepage/ HTTP/1.1" 200 1837
Not Found: /api/homepage/flutter.js
[15/May/2024 08:31:40] "GET /api/homepage/flutter.js HTTP/1.1" 404 2674
Not Found: /api/homepage/manifest.json
[15/May/2024 08:31:40] "GET /api/homepage/manifest.json HTTP/1.1" 404 2683
Моя директория файлов шаблонов выглядит следующим образом:
accounts\
-migrations\
-templates\
server\
media\
static\
manage.py
requirements.txt
index.html
<base href="/">
<!-- Favicon -->
<link rel="icon" type="image/png" href="favicon.png"/>
<title>bilmarkgorevdagilimi</title>
<link rel="manifest" href="manifest.json">
<script>
// The value below is injected by flutter build, do not touch.
var serviceWorkerVersion = '2027642995';
</script>
<!-- This script adds the flutter initialization JS code -->
<script src="flutter.js" defer></script>
Как я могу решить эту проблему?
- Вы должны загрузить тег шаблона
static
, чтобы Django мог искать статические файлы. link
{% load static %}
<base href="/">
<!-- Favicon -->
<link rel="icon" type="image/png" href="{% static 'favicon.png' %}"/>
<title>bilmarkgorevdagilimi</title>
<link rel="manifest" href="{% static 'manifest.json' %}">
<script>
// The value below is injected by flutter build, do not touch.
var serviceWorkerVersion = '2027642995';
</script>
<!-- This script adds the flutter initialization JS code -->
<script src="{% static flutter.js %}" defer></script>
- Вы должны определить
STATICFILES_DIRS
в своемsettings.py
. ссылка