在創建Django子應用時,解決:TypeError: unsupported operand type(s) for /: ‘str‘ and ‘str‘ 的方法



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

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM