Python 在Django应用程序中显示州、县、市

Python 在Django应用程序中显示州、县、市,python,django,api,geolocation,Python,Django,Api,Geolocation,我希望有人能给我指出正确的方向,因为我没有正式的编程经验,也不是真正的开发人员。我有一个django网站,它是个人和企业的目录。该网站是由其他开发人员创建的,现在我正在管理,不知道我到底在做什么,也不知道我在学习什么。我一直在阅读我能得到的所有东西,在这个过程中我学到了很多,但我被卡住了 我想创建一个页面,列出美国所有的州,当用户点击这些州的名字时,他们将被引导到一个包含所有城市和县的页面(当他们点击城市或县时,他们会看到一个模板页面,其中大部分内容是静态的,但会用适当的信息替换城市或县名称等本

我希望有人能给我指出正确的方向,因为我没有正式的编程经验,也不是真正的开发人员。我有一个django网站,它是个人和企业的目录。该网站是由其他开发人员创建的,现在我正在管理,不知道我到底在做什么,也不知道我在学习什么。我一直在阅读我能得到的所有东西,在这个过程中我学到了很多,但我被卡住了

我想创建一个页面,列出美国所有的州,当用户点击这些州的名字时,他们将被引导到一个包含所有城市和县的页面(当他们点击城市或县时,他们会看到一个模板页面,其中大部分内容是静态的,但会用适当的信息替换城市或县名称等本地数据)

我打算使用geodjango或django城市,但它们都太复杂了(我不是一个非常有经验的人,这是一个轻描淡写的说法:)

我现在正在创建一个csv文件,其中包含我想要的信息(州/县/市/邮政编码),我计划将其导入数据库,然后使用模型/视图/模板显示数据

我考虑过使用这个api,而不是将数据导入数据库

我的问题如下:

实现州、县、市和邮政编码页面的最佳方法是什么?这些页面具有关系,以便城市和邮政编码与县和州关联

如何使用api来完成上述工作?在使用api时,我是否仍需要将数据导入数据库并创建模型/视图/模板


我知道这些是基本问题,我知道我应该学习一些分类,但我想也许我会幸运,有人会提供一个可行的答案。请记住,我的经验非常少,所以详细说明答案会很有帮助。提前谢谢你。

我已经开发了一个地理定位应用程序,还发现了GeoJango adjango城市为满足我的需求而过度杀戮

所以我使用并导入了他们的数据库。如果你相应地设置了模型,你可以像普通数据库一样查询它。Django cities做同样的事情,但我从来没有让它工作过,它会导入所有东西。如果你只需要导入美国州和城市,那么你可以手工删除其余的,或者在导入后用Django删除它们然后把你的数据库变成一个Django装置,这样每次只需要你的数据就可以重新导入

我发现他们也有特定于国家的转储文件,所以你很幸运。只需下载美国的一个,然后进行设置。(这有附加数据的城市)-如果你想节省空间,不要导入你不需要的东西。 您必须将其与admin表一起使用,admin表有一个ID,cities数据库为State引用该ID- (稍后,如果需要减少查询,可以合并这些表,以便城市已经拥有这些州。)

如果你在这方面需要任何其他帮助,那么就问吧。使用这些数据库很容易。开始时唯一让人困惑的是管理员代码和城市名称之间的链接


只需以同样的方式对Django数据库表进行建模,您甚至可以使用Djangos自己的ORM。

谢谢您的回答,非常有用,我创建了一个州和城市的csv文件,以及一个不同的州和县的csv文件,如:城市州Lat Long AIBONITO PR 18.14-66.26 ANASCO PR 18.28-67.14 ANGELES PR 18.28-66.79阿雷西博PR 18.45-66.73个县01003鲍德温县AL 01005巴布尔县AL 01007比伯县AL 01009布朗特县AL 01011布洛克县AL 01013巴特勒县AL 01015卡尔霍恩县AL 01017钱伯斯县AL 01019切诺基县我也有2个不同的文件,希望将它们导入数据库,以便创建页面然后相应地调用数据。你认为这样可以吗?或者我应该按照你上面建议的那样使用geonames。简单地说,我会启动一个新的django应用程序,创建模型来显示一个类,该类用于州,该州将有一个子县、市、邮编。并为州县创建另一个类,该类的子县为县。然后使用视图来定义输入数据并使用html模板显示数据?听起来不错,我确实没有这方面的经验,所以我只想确认一下。任何带有详细信息的示例代码都会非常有用,而且,您是否有使用django的RESTful Api的经验,如果我使用Api,这是另一种方法吗?我只需要州/县/市/拉链-再次感谢。我一直关注的主要问题是如何在此时导入数据。