URL-адрес Stati c идет после URL-адреса обычной страницы - PullRequest
1 голос
/ 21 апреля 2020

Мои файлы c загружаются только на индексной странице, но при переходе на другую страницу, например: examle_url / page, возвращается ошибка 404, поскольку она загружается следующим образом: http://127.0.0.1: 8000 / category / default / static / js / main. js, см. статистику c загрузки после страницы

settings.py

STATIC_URL = 'static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static_root/')


STATICFILES_DIRS = (
  os.path.join(BASE_DIR, '/static/base'),
)

urls.py "все мои URL-адреса в главном каталоге, а затем я импортирую представления из приложений "

urlpatterns = [
    path('admin/', admin.site.urls),
    path('profile/', profile, name="profile"),
    path('', index, name="index"),
    path('category/', category, name="category"),
]

if settings.DEBUG:
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

Если это имеет значение, мои файлы загрузки c все находятся в теме. html файл, а затем расширяются во всех других html файлах .

Любая помощь будет принята с благодарностью, заранее спасибо!

1 Ответ

1 голос
/ 21 апреля 2020

Вы должны добавить STATIC_URL параметр [Django -doc] с sla sh:

# settings.py

# …
# with a <i>leading</i> slash
STATIC_URL = <b>'/static/'</b>
# &hellip;

Если вы этого не сделаете, то URL будет выглядеть как static/js/main.js. Если путь не начинается с sla sh, то это относительно пути к текущему URL, и, таким образом, если страница имеет значение /categories/default, она будет смотреть на /categories/default/static/js/main.js.

...