0

我读过这个: Django - 找不到静态文件

但我仍然很困惑,因为我的项目应用程序的静态文件之一正在被提供。我认为问题在于 django-weasyprint 设置:

设置.py

>>> settings.BASE_DIR
'/Users/blakepowell/django_/direct2'
>>> settings.STATIC_ROOT
'/static/'
>>> settings.BASE_DIR
'/Users/blakepowell/django_/direct2'
>>> settings.DJANGO_ROOT
'/Users/blakepowell/django_/direct2'
>>> settings.STATICFILES_DIRS
['/Users/blakepowell/django_/direct2/flights/static/', '/Users/blakepowell/django_/direct2/pdf_output/static/']

每个django-weasyprint 的pdf_output/views.py

class PrintView(WeasyTemplateResponseMixin, PDFView):
    # None
    pdf_stylesheets = [
    settings.STATIC_ROOT + 'pdf_output/static/pdf_output/css/pdf_output.css',
    ]

错误

[Errno 2] No such file or directory: '/static/pdf_output/static/pdf_output/css/pdf_output.css'

有任何想法吗?

4

1 回答 1

0

在你的 settings.py 你有

STATICFILES_DIRS = [
    '/Users/blakepowell/django_/direct2/flights/static/',
    '/Users/blakepowell/django_/direct2/pdf_output/static/'
]

我认为?现在您可以通过以下方式直接访问这些目录中的文件/static/

class PrintView(WeasyTemplateResponseMixin, PDFView):
    # None
    pdf_stylesheets = [
        '/static/pdf_output/css/pdf_output.css',
    ]

如果您的 css 文件位于/Users/blakepowell/django_/direct2/pdf_output/static/pdf_output/css/pdf_output.css

或通过

class PrintView(WeasyTemplateResponseMixin, PDFView):
    # None
    pdf_stylesheets = [
        '/static/css/pdf_output.css',
    ]

如果您的 css 文件位于/Users/blakepowell/django_/direct2/pdf_output/static/css/pdf_output.css

我看不到您的 css 文件在您的机器上的位置。为什么要使用两个“静态”文件夹?

于 2018-06-13T12:18:17.453 回答