Django实践:创建项目,debug--TypeError: unsupported operand type(s) for /: ‘str‘ and ‘str‘,分析与解决

Django实践debug

  在查看项目Django时候报TypeError: unsupported operand type(s) for /: ‘str’ and ‘str’,这是由于自动生成的代码中存在语法错误(在settings.py中的错误代码为 'DIRS': [BASE_DIR / 'templates']),将其修改为 'DIRS': [str.format(BASE_DIR, '/templates')]。后续本文详细介绍介绍用pycharm创建Django项目的过程,然后针对Django项目运行时候的bug及解决方法进行说明。

测试版本说明:

  • Python 3.8.3(conda)
  • Django 2.2.5
  • Pycharm 2020.2.4 x64

1. 用Pycharm创建Django项目

pycharm创建Django项目
  安装好python,下载pycharm之后,New project创建一个新的项目,要用Pycharm的专业版才能直接创建Django项目。(Professional版本可以试用30天,对于学习来说够了)

  1. 在左侧项目中选择Django,默认名为djangoProject。
  2. 选择python的解释器,可以选择新建一个环境或者用已经存在的解释器,我们这里用已经存在的python3.8(conda)。 在More
  3. Settings里可以添加应用名称,把Enable Django admin选中,会初始化一个Django项目,默认是选中的。
  4. 点击create创建项目。

2. 查看Django项目

两种方法查看Django项目
  方法一:在pycharm的Terminal中运行如下代码:

python manage.py runserver

  方法二:如下图所示,将runserver 127.0.0.1:8000作为参数写到manage.py的配置文件中,然后点运行。
设置manage.py
manage运行参数

3. 运行Django项目服务器报错

TypeError

错误类型: TypeError: unsupported operand type(s) for /: ‘str’ and ‘str’

出错代码: 如上图绿框所示,在settings.py中的'DIRS': [BASE_DIR / 'templates']

错误分析: 这个提示大概是说:“类型错误:不支持操作类型为字符串和字符串”,直接把两个字符串(BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))在前面定以为基础路径,也就是整个项目的路径)在列表中连接起来是不合适的,这里系统将“/”理解为了除号,系统理解为“字符串/字符串”。实际上这里想表达的意思将BASE_DIR 和’templates’连在一起形成一个完整路径,而“/”是路径分隔符。

修改方法: 'DIRS': [str.format(BASE_DIR, '/templates')],再次运行就成功了。
修改代码

4. 正确运行结果

运行Django项目
查看Django项目

参考文献

  1. 《Python编程从入门到实践》:https://ehmatthes.github.io/pcc/
  2. Django帮助文档:https://docs.djangoproject.com/zh-hans/2.0/
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值