【发布时间】:2020-04-02 05:45:24
【问题描述】:
使用pycharm 2019.2.5, 蟒蛇3.7, Django 2.2.5, 我正在通过导入模板并通过 django 为其创建应用程序来创建网站,但我无法让任何静态文件正常工作。当我运行开发服务器时,没有字体/css/js/images 显示。我也无法从我的 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" %}">
Settings.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 中
提前致谢。
【问题讨论】:
-
你为什么使用静态作为
<link href="{% static 'https://fonts.googleapis.com/css?family=EB+Garamond:400,400i,500,500i,600,600i,700,700i&display=swap' %}" rel="stylesheet">显然这个文件在网络上是动态的。 -
将
os.path.join(BASE_DIR, "YSMR/static")更改为os.path.join(BASE_DIR, "static") -
我已尝试删除 STATICFILES_DIRS 中的 YSMR,但出现“未解决的参考”错误。发布更新以反映这一点。 @furkanayd 这只是模板中包含的 URL。我相信你很清楚。不如我。建议?
-
您正在静态目录中搜索名称为“fonts.googleapis.com/…”的文件,建议删除代码中的 {% static ... %} 部分
-
啊,我明白你的意思了@furkanayd,谢谢!更新。我已经运行了 collectstatic 命令。我在pycharm中建立了一个项目叫YSMR,然后是原文件路径。为了清楚起见,我将对其进行更新。我认为这可能是个问题。
标签: python html css django pycharm