使用pycharm 2019.2.5, python 3.7, Django 2.2.5, 我正在通过导入模板并通过 Django 为其创建应用程序来创建网站,但我无法让任何静态文件工作。当我运行开发服务器时,没有显示任何字体/css/js/图像。我也无法从我的 HTML 文件中导入谷歌字体。我已经阅读了所有答案,并且发布了我知道的相关数据。这似乎是一个相当普遍的问题,我已经尝试了他们所有的解决方案。如果您需要更多数据,请告诉我。
YSMR *edited to add. #This is my top-level project created in pycharm.
YSMR
\blog
\contact
\schedule
\sendemail
\static
\css # I plan on adding namespacing for this later
\fonts
\js
images....
\templates
\index.html
additional templates...
__init__.py
settings.py
urls.py
views.py
wsgi.py
index.html 下面。我可以查看该文件,但同样,嵌入的静态文件和字体不执行。我在下面加载的前几行。
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<title>YSMR</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=Open+Sans:300,400,600,700&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=EB+Garamond:400,400i,500,500i,600,600i,700,700i&display=swap" rel="stylesheet">
<link rel="stylesheet" href="{% static "css/open-iconic-bootstrap.min.css" %}">
<link rel="stylesheet" href="{% static "css/animate.css" %}">
设置.py
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
ENV_PATH = os.path.abspath(os.path.dirname(__file__))
STATIC_ROOT = os.path.join(ENV_PATH, '/static/') #I've tried to change 'static' to something else, but I get an 'unresolved reference' error when I do.
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "YSMR/static"), #I get an 'unresolved reference "static"' when I remove the YSMR
]
当我从 STATICFILES_DIRS 路径中删除 YSMR 时,我收到“未解析的引用‘静态’”警告
此外,django.contrib.staticfiles 包含在 INSTALLED_APPS 中
提前致谢。
最佳答案
按如下方式更改您的设置并尝试:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "static_cdn")
MEDIA_URL = "/media/"
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media_cdn")
还要确保将这些行添加到主 url 文件中。
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
关于python - 无法在 Django 中显示静态图像和加载 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59243513/