GeoNode-Project实例无法找到geonode基础模板的访问方法
GeoNode Project 实例原生基础模板访问方法
GeoNode Project 脚手架默认不会将核心原生模板复制到项目目录下,所有基础模板都存放在Python环境安装的GeoNode依赖包内,可按以下步骤定位、使用和定制:
- 定位原生模板存放路径
激活项目使用的Python虚拟环境,执行以下命令即可输出GeoNode依赖包的安装根目录:python -c "import geonode, os; print(os.path.dirname(geonode.__file__))"
进入输出路径下的templates子目录,就能看到所有GeoNode原生提供的基础模板,包含站点全局框架、页头、页脚、站点首页、非地图类功能页面的全部模板文件。 - 自定义模板的正确覆写方式
不要直接修改依赖包内的原生模板文件,否则后续升级GeoNode版本时所有修改都会被覆盖。你只需要在自己项目的templates目录下,保持和原生模板完全一致的相对路径、创建同名自定义模板文件即可,Django模板加载机制会优先读取项目目录下的模板,自动覆盖原生模板的渲染逻辑。
举个例子:原生站点首页模板路径为geonode/templates/site_index.html,你只需要在项目的src/[你的项目名称]/templates/路径下新建site_index.html写入自定义内容,重启服务后就会生效。 - MapStore客户端相关模板说明
你当前项目templates目录下已有的geonode-mapstore-client相关模板,仅用于定制地图客户端的嵌入、交互逻辑,对应的原生模板存放在geonode-mapstore-client依赖包内,定位时只需要把上面定位命令里的geonode替换为geonode_mapstore_client即可找到对应文件。
注意:所有模板修改完成后,需要重启项目对应的gunicorn/uwsgi服务,若开启了模板缓存还需要清空缓存,修改才会在前端生效
内容的提问来源于stack exchange,提问作者Rafael Sá
相关产品推荐
相关产品推荐

