在Anaconda提示符运行Django项目时出现leaflet导入app_settings错误
解决Django中leaflet导入
app_settings失败的问题 我之前也碰到过一模一样的坑!咱们来一步步把这个问题搞定:
问题根源分析
你遇到的ImportError: cannot import name 'app_settings' from 'leaflet',90%的概率是装错了包——PyPI上有个普通的leaflet包,但咱们Django项目需要的是专门适配的django-leaflet包。普通leaflet包的内部结构里根本没有app_settings这个模块,所以才会触发这个报错。
具体解决方案
卸载错误的包(如果有的话)
打开Anaconda提示符,运行:pip uninstall leaflet要是提示“未安装此包”也不用慌,直接往下走就行。
安装正确的django-leaflet包
执行这条命令安装适配Django的版本:pip install django-leaflet要是担心版本兼容问题,可以指定一个稳定版,比如我自己常用的:
pip install django-leaflet==0.28.0检查Django配置
打开项目的settings.py,确保'leaflet'被添加到INSTALLED_APPS里,而且要放在你的自定义应用(比如polls)前面:INSTALLED_APPS = [ 'leaflet', 'polls', # 其他你项目里的应用... ]验证安装是否成功
可以在Anaconda提示符里进入Python交互模式,测试导入:from leaflet import app_settings如果没有报错,就说明问题已经解决了,再回去启动你的Django项目试试。
额外注意事项
如果你用了Anaconda虚拟环境,一定要先激活对应的环境再执行上面的命令,不然包可能装到了全局环境里,项目根本找不到。要是之前反复装过不同版本,建议先清理pip缓存再重新安装:
pip cache purge
内容的提问来源于stack exchange,提问作者Hassan Chafik
相关产品推荐
相关产品推荐

