【发布时间】:2020-06-12 23:49:32
【问题描述】:
我正在使用 Pycharm 写作,通过 GitHub 推送到 PythonAnywhere。 Django3 和 Python3.7。完成 Django Girls 教程。
我已经在settings.py中定义了
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
我有一个带有
的模板{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="{% static "blog/css/blog.css" %}">
<meta charset="UTF-8">
<title>DG Tutorial</title>
</head>
...
我试过python manage.py findstatic blog.css 找不到。我尝试了 static/blog/css/blog.css 和 /blog/css/blog.css 的变体,并收到一条以以下结尾的长错误消息:
django.core.exceptions.SuspiciousFileOperation:连接路径 >>>(/blog.css) 位于基本路径组件之外 (/Users/alesha/.virtualenvs/blog/lib/python3.7/site-包/django/contrib/admin/静态)
所以,我想知道为什么它不在位于基本路径组件之外的 STATIC_ROOT 中查找。还是做到了?我不知道。
然后我检查了 django 错误跟踪器。不——是我。
所以,古怪的部分是,当我将代码移植到 PythonAnywhere 时,它可以正常工作,blog.css 得到服务,幸福感比比皆是。
我已经阅读了关于这个的帖子,所有关于 staticFiles 的 django 教程页面 - 我知道,我已经检查了拼写错误。我是 stumpeth - 因为它有效!只是不在本地主机上。
感谢您帮助解决我的第一个 Stack Overflow 问题。
【问题讨论】:
-
我猜你有一个叫
blog的应用。你里面还有static目录吗,你把blog.css文件放到blog/static/blog/css里面了吗? -
@Dauros 我有一个名为
blog的应用程序和一个static目录和blog.css在mysite/static/blog/css/目录中。我会在 OP 中添加一张图片。 -
您能否通过在浏览器中检查来放置有效链接和无效链接。
-
你在 PythonAnywhere 中有
DEBUG = True吗? -
或者您在 PythonAnywhere 中配置 Web 应用程序时是否设置了
staticfiles文件夹设置?