【问题标题】:Error in linking static files in django project deployed on pythonanywhere在 pythonanywhere 上部署的 django 项目中链接静态文件时出错
【发布时间】:2015-03-09 10:46:33
【问题描述】:

我已经在 pythonanywhere 部署了一个 django(1.7) 项目,它的链接是-http://drchitradhawle.pythonanywhere.com/ 我猜静态文件链接和引导程序存在问题。请任何人帮助我解决问题并告诉我整个过程在 django 项目中链接任何静态文件和引导程序。

我的项目结构是-

home
    -DrChitraDhawle
              -website
                    -webpage
                        -static
                            -css
                            -images
                   -templates
                  -website
                 -settings.py

settings.py 文件是 -

STATIC_ROOT = "/home/DrChitraDhawle/website/webpage/static"
STATIC_URL = '/static/'
STATICFILES_DIR = (
    ('assets', '/home/DrChitraDhawle/website/webpage'),
    )
#
#STATICFILES_DIR = [os.path.join(BASE_DIR, '')]

网页标签中设置的静态文件的链接是-

我在我的程序中使用它作为 -

{% load staticfiles %}

<link rel="stylesheet" type="text/css" href="{% static 'webpage/bootstrap.min.css' %}" />
<link rel="stylesheet" type="text/css" href="{% static 'webpage/style.css' %}" />
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Dr.Chitra Webpage</title>
.
.
.

python 任何地方的错误日志是 -

2015-03-08 16:09:52,766 :django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.
2015-03-08 16:09:53,926 :Traceback (most recent call last):
2015-03-08 16:09:53,926 :  File "/bin/user_wsgi_wrapper.py", line 130, in __call__
2015-03-08 16:09:53,926 :    self.error_log_file.logger.exception("Error running WSGI application")
2015-03-08 16:09:53,926 :  File "/usr/lib/python2.7/logging/__init__.py", line 1185, in exception
2015-03-08 16:09:53,926 :    self.error(msg, *args, **kwargs)
2015-03-08 16:09:53,927 :  File "/usr/lib/python2.7/logging/__init__.py", line 1178, in error
2015-03-08 16:09:53,927 :    self._log(ERROR, msg, args, **kwargs)
2015-03-08 16:09:53,927 :  File "/usr/lib/python2.7/logging/__init__.py", line 1270, in _log
2015-03-08 16:09:53,928 :    record = self.makeRecord(self.name, level, fn, lno, msg, args, exc_info, func, extra)
2015-03-08 16:09:53,928 :  File "/usr/lib/python2.7/logging/__init__.py", line 1244, in makeRecord
2015-03-08 16:09:53,928 :    rv = LogRecord(name, level, fn, lno, msg, args, exc_info, func)
2015-03-08 16:09:53,928 :  File "/usr/lib/python2.7/logging/__init__.py", line 284, in __init__
2015-03-08 16:09:53,928 :    self.threadName = threading.current_thread().name
2015-03-08 16:09:53,928 :  File "/usr/lib/python2.7/threading.py", line 1160, in currentThread
2015-03-08 16:09:53,929 :    return _active[_get_ident()]
2015-03-08 16:09:53,929 :  File "/bin/user_wsgi_wrapper.py", line 122, in __call__
2015-03-08 16:09:53,929 :    app_iterator = self.app(environ, start_response)
2015-03-08 16:09:53,929 :  File "/bin/user_wsgi_wrapper.py", line 136, in import_error_application
2015-03-08 16:09:53,929 :    raise e
2015-03-08 16:09:53,929 :django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.

访问日志-

78.12.109.13 - - [09/Mar/2015:10:55:39 +0000] "GET /static/webpage/images/chitraMam.jpg HTTP/1.1" 404 1165 "http://drchitradhawle.pythonanywhere.com/" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.76 Safari/537.36" "78.12.109.13"
78.12.109.13 - - [09/Mar/2015:10:55:40 +0000] "GET /favicon.ico HTTP/1.1" 404 1150 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.76 Safari/537.36" "78.12.109.13"
78.12.109.13 - - [09/Mar/2015:10:55:43 +0000] "GET /static/webpage/bootstrap.min.css HTTP/1.1" 404 1164 "http://drchitradhawle.pythonanywhere.com/" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.76 Safari/537.36" "78.12.109.13"
78.12.109.13 - - [09/Mar/2015:10:55:43 +0000] "GET /static/webpage/style.css HTTP/1.1" 404 1154 "http://drchitradhawle.pythonanywhere.com/" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.76 Safari/537.36" "78.12.109.13"
78.12.109.13 - - [09/Mar/2015:10:55:56 +0000] "GET /static HTTP/1.1" 404 1148 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.76 Safari/537.36" "78.12.109.13"
78.12.109.13 - - [09/Mar/2015:10:55:58 +0000] "GET /static/ HTTP/1.1" 404 1149 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.76 Safari/537.36" "78.12.109.13"
78.12.109.13 - - [09/Mar/2015:10:56:03 +0000] "GET /static/webpage/ HTTP/1.1" 404 1151 "-" "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.76 Safari/537.36" "78.12.109.13"
14.139.240.226 - - [09/Mar/2015:11:04:16 +0000] "GET /webpage/research/ HTTP/1.1" 200 1615 "http://drchitradhawle.pythonanywhere.com/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0" "14.139.240.226"
14.139.240.226 - - [09/Mar/2015:11:04:17 +0000] "GET /static/webpage/bootstrap.min.css HTTP/1.1" 404 1164 "http://drchitradhawle.pythonanywhere.com/webpage/research/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0" "14.139.240.226"
14.139.240.226 - - [09/Mar/2015:11:04:17 +0000] "GET /static/webpage/style.css HTTP/1.1" 404 1154 "http://drchitradhawle.pythonanywhere.com/webpage/research/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0" "14.139.240.226"
14.139.240.226 - - [09/Mar/2015:11:04:18 +0000] "GET /static/webpage/style.css HTTP/1.1" 404 1154 "http://drchitradhawle.pythonanywhere.com/webpage/research/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0" "14.139.240.226"
14.139.240.226 - - [09/Mar/2015:11:04:18 +0000] "GET /static/webpage/bootstrap.min.css HTTP/1.1" 404 1164 "http://drchitradhawle.pythonanywhere.com/webpage/research/" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0" "14.139.240.226"

【问题讨论】:

    标签: python django twitter-bootstrap deployment static-linking


    【解决方案1】:

    您的静态文件不起作用的原因是因为您的静态文件在 webtab 屏幕截图中设置为home/DrChitraDhawle/website/webpage/static。应该是/home/DrChitraDhawle/website/webpage/static

    错误日志是旧的(即,自从您上次修复旧错误以来,您可能没有生成任何新错误)

    【讨论】:

      【解决方案2】:

      我会调查的三件事。

      1. 您的错误日志显示:“SECRET_KEY 设置不能为空”——您应该调查这是否仍然是一个问题。在 settings.py 中查找SECRET_KEY

      2. settings.py 中,您真正需要的仅有两个设置是 STATIC_URLSTATIC_ROOTSTATIC_ROOT 应该是一个与您的应用程序文件夹分开的文件夹,所以我会把它放在像 /home/DrChitraDhawle/website/ 这样的地方。我建议删除STATICFILES_DIR 设置。

      然后您需要运行collectstatic 命令,该命令告诉 django 将每个应用程序中的所有静态文件复制到您的STATIC_ROOT 文件夹中:

      python manage.py collectstatic
      

      这会将您的静态文件从网页/静态文件夹复制到网站/静态文件夹中,并且您需要在添加或删除静态文件时重新运行它。

      有关 PythonAnywhere wiki 的更多信息,请点击此处:https://www.pythonanywhere.com/wiki/DjangoStaticFiles 和 django 文档,请点击此处:https://docs.djangoproject.com/en/1.7/howto/static-files/

      【讨论】:

      猜你喜欢
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 2021-09-12
      • 2020-08-29
      • 1970-01-01
      • 2020-03-07
      • 1970-01-01
      • 2017-02-01
      相关资源
      最近更新 更多