作为视图逻辑的一部分,我需要检查纬度和经度点是否在城市边界内。 为此,我将城市形状文件与 geopandas 一起使用。在纯 python 代码中,这一切都可以在本地正常工作。 但是,当我在 Django 中运行以下代码时:
LA_geo_df = gpd.read_file('./City_Boundaries/City_Boundaries.shp')
我收到错误:
DriverError at /
./City_Boundaries/City_Boundaries.shp: No such file or directory
加载此类文件的正确 Django 方式是什么?
答案 0 :(得分:1)
自动生成的 Django 设置文件将有一个 BASE_DIR
设置,如下所示
import os
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
这是 Django 应用程序根目录的绝对文件路径。您可以使用此设置来构建文件的绝对路径
CITY_BOUNDARIES_FILE_PATH = os.path.join(BASE_DIR, 'City_Boundaries', 'City_Boundaries.shp')
然后你想加载文件的地方你可以使用设置
from django.conf import settings
LA_geo_df = gpd.read_file(settings.CITY_BOUNDARIES_FILE_PATH)