所以,我是 Django 的新手,我这辈子都弄不明白为什么我的 View 总是出现 TypeError。
错误是:
TypeError at /
filename must be a string, not None
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 1.8.5
Exception Type: TypeError
Exception enter code hereValue:
filename must be a string, not None
我在 View 中有以下内容
<!DOCTYPE html>
{% load sass_tags %}
<html>
<head lang="en">
...
<link href="{% sass_src 'app_name/static/theme.scss' %}" media="screen" rel="stylesheet" type="text/css">
我的 settings.py 中可能遗漏了一些东西,但不确定是什么。另外,如何链接到我的 scss 文件?
我在 settings.py 中添加了以下内容
INSTALLED_APPS = [
....
'sass_processor',
....
]
STATICFILES_FINDERS = (
'sass_processor.finders.CssFinder',
)
我想我的问题出在这里
SASS_PROCESSOR_INCLUDE_DIRS = (
os.path.join(BASE_DIR, 'app_name/static'),
)
BASE_DIR 指的是
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
这到底应该指向哪里?我的应用程序结构是
app_dir/
Specs/
src/
app_name/
static/
theme.scss
templates/
__init__.py
views.py
etc...
我认为这是一个 Python3 错误,所以我构建了一个 2.7 ve,但仍然有完全相同的问题。
最佳答案
我意识到这个问题没有得到解答,但由于 jrief,我确实找到了问题
这需要在设置文件中
INSTALLED_APPS = [
....
'sass_processor',
....
]
....
....
STATIC_ROOT = os.path.join(BASE_DIR, 'app_name/static/')
STATIC_URL = '/static/'
html中的链接
<link href="{% sass_src 'filename.scss' %}" rel="stylesheet" type="text/css"
/>
这些都不是必需的
SASS_PROCESSOR_INCLUDE_DIRS = (
os.path.join(BASE_DIR, 'app_name/static'),
)
STATICFILES_FINDERS = (
'sass_processor.finders.CssFinder',
)
关于python - Django-sass-处理器类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33052553/