共计 1854 个字符,预计需要花费 5 分钟才能阅读完成。
django
是世界上最好的 web 框架,并在四月六号正式降级为 django3.2
,这是 django
的 lts
版本
如果你打算从 django2.2
降级到 django3.2
那这篇文章很适宜你,因为我帮你踩了很多坑。
![上传中 …]()
├─apps
│ ├─index
│ │ ├─migrations
│ │ ├─templates
│ │ ├─templatetags
│ ├─product
│ │ ├─migrations
│ │ ├─templates
│ └─users
│ ├─migrations
│ ├─templates
├─freshshop
│ └─__pycache__
├─media
│ └─product_imgs
├─static
│ └─assets
│ ├─css
│ ├─fonts
│ ├─img
│ └─js
├─templates
apps 命令
问题形容
我喜爱将创立的 app 独自放在一个 apps 文件夹中
然而在 django3 中这样做会遇到如下报错
File "C:\Users\17293\AppData\Local\Programs\Python\Python38\lib\site-packages\django\core\management\__init__.py", line 375, in execute
autoreload.check_errors(django.setup)()
File "C:\Users\17293\AppData\Local\Programs\Python\Python38\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "C:\Users\17293\AppData\Local\Programs\Python\Python38\lib\site-packages\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:\Users\17293\AppData\Local\Programs\Python\Python38\lib\site-packages\django\apps\registry.py", line 91, in populate
app_config = AppConfig.create(entry)
File "C:\Users\17293\AppData\Local\Programs\Python\Python38\lib\site-packages\django\apps\config.py", line 246, in create
raise ImproperlyConfigured(django.core.exceptions.ImproperlyConfigured: Cannot import 'index'. Check that 'apps.index.apps.IndexConfig.name' is correct.
报错起因
待填
解决办法
在 apps.appname.apps.py
处的 name
属性批改为apps.appname
默认是这样,然而会报错
from django.apps import AppConfig
class IndexConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'index'
批改为
from django.apps import AppConfig
class IndexConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'apps.index'
templates 没有提醒
问题形容
依照习惯会在根目录下创立一个 templates
文件夹,在文件夹中形式公共的模板,例如 base.html
然而此处遇到了一个问题,就是 pycharm
无奈辨认 django3
下的 templates
的内容(app 下的 templates
是能够的,根目录的不行)
问题起因
django2
中 BASE_DIR
应用 os
模块生成,而在 django3
中改成了 pathlib
模块的 Path
类,生成的BASE_DIR
也从字符串变成了 WindowsPath
类实例,因而 pycharm
无奈辨认(获取将来的 pycharm 版本会反对)
解决办法
手动改回 os
模块
正文完