Django是世界上最好的Web框架,4月6日正式升级到django3.2,也就是lts版本的django。如果你打算从django2.2升级到django3.2,那么这篇文章非常适合你,因为我给你踩了很多坑。![上传中...]()├─应用│├─索引│├─迁移││├─模板││├─模板标签│├─产品│├─迁移││├─模板│└─用户。..描述我喜欢把创建的app单独放在一个apps文件夹下,但是在django3中,会遇到如下报错File"C:\Users\17293\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\management\__init__.py”,第375行,在执行autoreload.check_errors(django.setup)()文件“C:\Users\17293\AppData\Local\Programs\Python\Python38\lib\site-packages\django\utils\autoreload.py”,第64行,包装器fn(*args,**kwargs)文件“C:\Users\17293\AppData\Local\Programs\Python\Python38\lib\site-packages\django\__init__.py”,第24行,在安装程序中。填充(设置。INSTALLED_APPS)文件“C:\Users\17293\AppData\Local\Programs\Python\Python38\lib\site-packages\django\apps\registry.py”,第91行,在populateapp_config=AppConfig.create(entry)文件中“C:\Users\17293\AppData\Local\Programs\Python\Python38\lib\site-packages\django\apps\config.py”,第246行,在createraiseImproperlyConfigured(django.core.exceptions.ImproperlyConfigured:Cannotimport'index'.检查'apps.index.apps.IndexConfig.name'是否正确,错误原因要填写,解决方法是将apps.appname.apps.py中的name属性改为apps.appname默认,但是会报错fromdjango.appsimportAppConfigclassIndexConfig(AppConfig):default_auto_field='django.db.models.BigAutoField'name='index'改为fromdjango.appsimportAppConfigclassIndexConfig(AppConfig):default_auto_field='django.db.models.BigAutoField'name='apps.index'templates不提示问题描述按照习惯,会在根目录下创建一个templates文件夹irectory,文件夹里的模板是公用的,比如base.html,但是这里有个问题,就是pycharm无法识别django3下的模板内容(app下的模板可以,但是根目录下不行).问题的原因是django2中的BASE_DIR使用os模块生成,但是在django3中改成了pathlib模块的Path类,而且生成的BASE_DIR也从字符串变成了WindowsPath类的实例,所以pycharm无法识别(也许以后的pycharm版本会支持)).解决方法是手动改回os模块
