1.報錯信息
本文所述錯誤為博主在查新建項目Django子應用時時候報的錯,
創建子應用的語法如下:
python manage.py startapp 子應用名稱
例如:python manage.py startapp book
錯誤提示信息如下:
TypeError: unsupported operand type(s) for /: ‘str’ and ‘str’,
錯誤情況如下圖所示:
2.錯誤原因分析
這是創建Django工程時,自動生成的代碼中存在語法錯誤
- (在settings.py中的錯誤代碼為 'DIRS': [BASE_DIR / 'templates'])
- “類型錯誤:不支持操作類型為字符串和字符串”
- 直接把兩個字符串
(BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(file)))在前面定以為基礎路徑,也就是整個項目的路徑)在列表中連接起來是不合適的,這里系統將 “/” 理解為了除號,系統理解為“字符串/字符串”。實際上這里想表達的意思將BASE_DIR 和’templates’連在一起形成一個完整路徑,而“/”是路徑分隔符。
3.解決方案
- 方法1:
定位到該出錯的語句,將其修改為
'DIRS': [str.format(BASE_DIR, '/templates')]
- 方法2:
定位到該出錯的語句,將斜杠改為逗號即可
4.檢驗修改結果
在終端中運行以下命令,如果能夠運行成功,則會出現如下圖所示的情況
python manage.py runserver