Javascript 静态文件不加载到一个模板上,而是加载到另一个模板上

Javascript 静态文件不加载到一个模板上,而是加载到另一个模板上,javascript,python,html,css,django,Javascript,Python,Html,Css,Django,我从网上得到了一个模板,并设法让CSS和JS与我的一个HTML模板一起工作;但对于另一个,尽管代码相同,但不会加载相同的CSS/JS 这是我的settings.py: STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), ] STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_c

我从网上得到了一个模板,并设法让CSS和JS与我的一个HTML模板一起工作;但对于另一个,尽管代码相同,但不会加载相同的CSS/JS

这是我的settings.py:


STATIC_URL = '/static/'

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

STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn")
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media_cdn")

 STATIC_URL = '/static/'
    MEDIA_URL = '/media/'
    
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'static')
    ]
    
    STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
    MEDIA_ROOT = os.path.join(BASE_DIR, 'mediafiles')
以下是我的看法:

from django.shortcuts import render

# Create your views here.
def home_view(request, *args, **kwargs):
    return render(request, "about.html", {})
 
def contact(request, *args, **kwargs): 
    return render(request, "contact.html", {})

def work(request, *args, **kwargs): 
    return render(request, "work.html", {})
以下是我的URL模式:

from django.contrib import admin
from django.urls import path
from pages.views import home_view
from pages.views import contact
from pages.views import work
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', home_view , name='home'), 
    path('contact/', contact, name = 'contact' ),
    path('work/', work, name = 'work'),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

这是我的模板的CSS,它可以工作;我不得不硬编码它,因为静态标记由于某些原因无法工作:


{ % load static %}

<html lang="en">

  <head>
    <title>Mighty &mdash; Website Template by Colorlib</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <link href = https://fonts.googleapis.com/css?family=Muli:400,700  rel="stylesheet">

    <link rel="stylesheet" href= 'static/fonts/icomoon/style.css'>

    <link rel="stylesheet" href='static/css/bootstrap.min.css'>
    <link rel="stylesheet" href='static/css/bootstrap-datepicker.css'>
    <link rel="stylesheet" href='static/css/jquery.fancybox.min.css'>
    <link rel="stylesheet" href='static/css/owl.carousel.min.css'/>
    <link rel="stylesheet" href='static/css/owl.theme.default.min.css'>
    <link rel="stylesheet" href='static/fonts/flaticon/font/flaticon.css'>
    <link rel="stylesheet" href='static/css/aos.css'>

    <!-- MAIN CSS -->
    <link rel="stylesheet" href= 'static/css/style.css'>



{%load static%}
威武&mdash;Colorlib提供的网站模板
以下是模板中不起作用的CSS部分:

{ % load static % }
<html lang="en">

  <head>
    <title>Mighty &mdash; Website Template by Colorlib</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <link href="https://fonts.googleapis.com/css?family=Muli:400,700" rel="stylesheet">

    <link rel="stylesheet" href='static/fonts/icomoon/style.css'>

    <link rel="stylesheet" href='static/css/bootstrap.min.css'>
    <link rel="stylesheet" href='static/css/bootstrap-datepicker.css'>
    <link rel="stylesheet" href='static/css/jquery.fancybox.min.css'>
    <link rel="stylesheet" href='static/css/owl.carousel.min.css'>
    <link rel="stylesheet" href='static/css/owl.theme.default.min.css'>
    <link rel="stylesheet" href='static/fonts/flaticon/font/flaticon.css'>
    <link rel="stylesheet" href='static/css/aos.css'>

    <!-- MAIN CSS -->
    <link rel="stylesheet" href='static/css/style.css'>


{%load static%}
威武&mdash;Colorlib提供的网站模板
settings.py:


STATIC_URL = '/static/'

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

STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn")
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media_cdn")

 STATIC_URL = '/static/'
    MEDIA_URL = '/media/'
    
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'static')
    ]
    
    STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
    MEDIA_ROOT = os.path.join(BASE_DIR, 'mediafiles')
每个文件的编写方式如下:

<link rel="stylesheet" href= "{% static 'fonts/icomoon/style.css' %}">

settings.py:


STATIC_URL = '/static/'

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

STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn")
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media_cdn")

 STATIC_URL = '/static/'
    MEDIA_URL = '/media/'
    
    STATICFILES_DIRS = [
        os.path.join(BASE_DIR, 'static')
    ]
    
    STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
    MEDIA_ROOT = os.path.join(BASE_DIR, 'mediafiles')
每个文件的编写方式如下:

<link rel="stylesheet" href= "{% static 'fonts/icomoon/style.css' %}">

您有未启动的路径/

然后将路径附加到已经存在的路径,如

lala.la/contact/static/fonts/flaticon/font/flaticon.css'
   
只需将它们更改为根路径

<link rel="stylesheet" href='/static/fonts/flaticon/font/flaticon.css'>


另外,明智的做法是正确设置静态设置,使用不启动的路径/

然后将路径附加到已经存在的路径,如

lala.la/contact/static/fonts/flaticon/font/flaticon.css'
   
只需将它们更改为根路径

<link rel="stylesheet" href='/static/fonts/flaticon/font/flaticon.css'>


另外,使用

正确设置静态设置也是明智的,我想它适用于主视图,而不适用于其他视图?@iklinac是的,主视图有效,但其他视图无效,出于某种原因,除了硬编码之外的任何东西都不起作用。我想它对家庭有效,对其他人无效?@iklinac是的,家庭视图有效,但其他视图无效,出于某种原因,除了硬编码之外的任何东西也不起作用。非常感谢!虽然我认为我的设置是正确的,但我还是在网上学习了一些不同的教程。非常感谢!虽然我认为我的设置是正确的,但我还是在网上学习了一些不同的教程