所以,我是Django的新手,并且不能为我的生活弄清楚为什么我一直在我的视图上得到一个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
我在视图中有以下内容
<!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结构是
app_dir/
Specs/
src/
app_name/
static/
theme.scss
templates/
__init__.py
views.py
etc...
我认为它是一个Python3错误,所以我支持2.7 ve,但仍然有完全相同的问题。
答案 0 :(得分:3)
我意识到这没有答案,但我确实发现问题归功于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"
/&GT;
这些并非必需
SASS_PROCESSOR_INCLUDE_DIRS = (
os.path.join(BASE_DIR, 'app_name/static'),
)
STATICFILES_FINDERS = (
'sass_processor.finders.CssFinder',
)