import_red_spots.py 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671
  1. from django.core.management.base import BaseCommand
  2. from django.core.files import File
  3. from django.db import transaction
  4. from ai_planner.models import Attraction, City
  5. import os
  6. class Command(BaseCommand):
  7. help = '清空并重新导入所有红色旅游景点数据(含图片)'
  8. def add_arguments(self, parser):
  9. parser.add_argument(
  10. '--image-dir',
  11. type=str,
  12. default=r'G:\其他\image',
  13. help='指定图片存储目录路径'
  14. )
  15. parser.add_argument(
  16. '--skip-clear',
  17. action='store_true',
  18. help='跳过清空表步骤'
  19. )
  20. @transaction.atomic
  21. def handle(self, *args, **options):
  22. # 1. 清空现有数据(除非指定跳过)
  23. if not options['skip_clear']:
  24. self.stdout.write("正在清空现有景点数据...")
  25. Attraction.objects.all().delete()
  26. self.stdout.write(self.style.SUCCESS("√ 已清空景点表"))
  27. # 2. 导入新数据
  28. IMAGE_BASE_PATH = options['image_dir']
  29. stats = {
  30. 'created': 0,
  31. 'images_added': 0,
  32. 'errors': 0
  33. }
  34. for spot_data in red_spots_data:
  35. try:
  36. # 处理城市
  37. city, _ = City.objects.get_or_create(
  38. name=spot_data['city'],
  39. defaults={
  40. 'code': spot_data['city'][:2].lower(),
  41. 'description': f"{spot_data['city']}红色旅游城市",
  42. 'is_hot': spot_data['city'] in ['济南市', '青岛市', '烟台市']
  43. }
  44. )
  45. # 处理门票价格
  46. ticket_price = 0.0
  47. if '免费' not in spot_data.get('ticket_info', ''):
  48. try:
  49. ticket_price = float(''.join(
  50. c for c in spot_data['ticket_info'] if c.isdigit() or c == '.'
  51. ))
  52. except (ValueError, TypeError):
  53. ticket_price = 0.0
  54. # 创建景点
  55. attraction, created = Attraction.objects.get_or_create(
  56. name=spot_data['name'],
  57. city=city,
  58. defaults={
  59. 'description': spot_data['description'],
  60. 'short_desc': spot_data['short_desc'],
  61. 'address': spot_data['address'],
  62. 'latitude': spot_data['latitude'],
  63. 'longitude': spot_data['longitude'],
  64. 'ticket_price': ticket_price,
  65. 'ticket_info': spot_data.get('ticket_info', ''),
  66. 'open_hours': spot_data['open_hours'],
  67. 'tags': spot_data['tags'],
  68. 'history': spot_data.get('history', ''),
  69. 'history_significance': spot_data.get('history_significance', ''),
  70. 'learning_point': spot_data.get('learning_point', ''),
  71. 'is_featured': spot_data['is_featured']
  72. }
  73. )
  74. if created:
  75. stats['created'] += 1
  76. self.stdout.write(f"创建景点: {spot_data['name']}")
  77. else:
  78. self.stdout.write(f"已存在景点: {spot_data['name']}")
  79. # 处理图片 - 使用景点名称+.png作为文件名
  80. image_filename = f"{spot_data['name']}.png"
  81. image_path = os.path.join(IMAGE_BASE_PATH, image_filename)
  82. self.stdout.write(f"正在查找图片: {image_path}")
  83. if os.path.exists(image_path):
  84. if not attraction.image: # 如果景点还没有图片才添加
  85. with open(image_path, 'rb') as f:
  86. attraction.image.save(
  87. image_filename,
  88. File(f),
  89. save=True
  90. )
  91. stats['images_added'] += 1
  92. self.stdout.write(self.style.SUCCESS(f"√ 成功添加图片: {spot_data['name']}"))
  93. else:
  94. self.stdout.write(self.style.WARNING(f"- 景点已有图片,跳过: {spot_data['name']}"))
  95. else:
  96. self.stdout.write(self.style.WARNING(f"× 图片不存在: {image_filename}"))
  97. except Exception as e:
  98. stats['errors'] += 1
  99. self.stdout.write(self.style.ERROR(f"! 导入失败: {spot_data['name']} - {str(e)}"))
  100. continue
  101. # 输出结果
  102. self.stdout.write("\n" + "=" * 50)
  103. self.stdout.write(self.style.SUCCESS(
  104. f"导入结果统计:\n"
  105. f"• 新建景点: {stats['created']}个\n"
  106. f"• 添加图片: {stats['images_added']}张\n"
  107. f"• 失败记录: {stats['errors']}个"
  108. ))
  109. self.stdout.write("=" * 50)
  110. # 数据定义(保持不变)
  111. red_spots_data = [
  112. {
  113. "name": "台儿庄大战纪念馆",
  114. "city": "枣庄市",
  115. "description": "台儿庄大战纪念馆是为纪念1938年台儿庄战役而建,展示了大量珍贵的历史照片和文物。",
  116. "history_significance": "1938年3-4月,中国军队在台儿庄地区歼灭日军1万余人,是抗战初期正面战场首次重大胜利。纪念馆1993年建成,占地3400平方米。",
  117. "learning_point": "学习中国军队英勇抗战精神,了解正面战场重大胜利的历史意义",
  118. "short_desc": "纪念1938年台儿庄战役的专题纪念馆",
  119. "address": "山东省枣庄市台儿庄区沿河南路6号",
  120. "latitude": 34.5628,
  121. "longitude": 117.7389,
  122. "ticket_info": "凭身份证免费参观",
  123. "open_hours": "08:30-17:30",
  124. "image": "attractions/taierzhuang.jpg",
  125. "tags": ["memorial", "红色旅游", "抗日战争"],
  126. "is_featured": True
  127. },
  128. {
  129. "name": "孟良崮战役遗址",
  130. "city": "临沂市",
  131. "description": "孟良崮战役遗址包含纪念馆、烈士陵园和战场遗迹,通过实物和场景复原展示战役全过程。",
  132. "history_significance": "1947年5月,华东野战军全歼国民党军整编74师,击毙师长张灵甫。此役扭转华东战局,遗址现存战壕、指挥所等遗迹。",
  133. "learning_point": "学习解放军英勇作战精神,了解运动战歼灭战的经典战例",
  134. "short_desc": "解放战争重要战役遗址",
  135. "address": "山东省临沂市蒙阴县垛庄镇",
  136. "latitude": 35.4025,
  137. "longitude": 117.9867,
  138. "ticket_info": "门票50元",
  139. "open_hours": "08:30-17:00",
  140. "image": "attractions/menglianggu.jpg",
  141. "tags": ["revolution", "红色旅游", "解放战争"],
  142. "is_featured": True
  143. },
  144. {
  145. "name": "华东革命烈士陵园",
  146. "city": "临沂市",
  147. "description": "华东地区规模最大的革命烈士纪念地,含革命烈士纪念塔、纪念馆和6万烈士墓区。",
  148. "history_significance": "始建于1949年,占地288亩。安葬着包括罗炳辉、王麓水等著名烈士,毛泽东题写'革命烈士纪念塔'。",
  149. "learning_point": "缅怀革命先烈,学习无私奉献精神",
  150. "short_desc": "安葬6万余名革命烈士的陵园",
  151. "address": "山东省临沂市兰山区陵园前街4号",
  152. "latitude": 35.0516,
  153. "longitude": 118.3439,
  154. "ticket_info": "凭身份证免费参观",
  155. "open_hours": "08:00-17:00",
  156. "image": "attractions/huadong_martyrs.jpg",
  157. "tags": ["martyrs", "红色旅游", "爱国主义教育"],
  158. "is_featured": True
  159. },
  160. {
  161. "name": "济南战役纪念馆",
  162. "city": "济南市",
  163. "description": "通过文物、图片和全景画展示1948年济南战役,包含攻城突破口遗址和英烈事迹展区。",
  164. "history_significance": "1948年9月16-24日,华东野战军攻克济南,歼敌10万。纪念馆2003年开放,全景画高18米、周长128米。",
  165. "learning_point": "学习解放军攻坚精神,了解城市攻坚战的历史经验",
  166. "short_desc": "全景展示济南战役历史的纪念馆",
  167. "address": "济南市市中区英雄山路18号",
  168. "latitude": 36.6186,
  169. "longitude": 117.0014,
  170. "ticket_info": "凭身份证免费参观",
  171. "open_hours": "09:00-16:30",
  172. "image": "attractions/jinan_battle.jpg",
  173. "tags": ["memorial", "红色旅游", "解放战争"],
  174. "is_featured": True
  175. },
  176. {
  177. "name": "沂蒙革命纪念馆",
  178. "city": "临沂市",
  179. "description": "全面展示沂蒙革命根据地历史,含红嫂厅、支前厅等专题展区,运用多媒体技术还原历史场景。",
  180. "history_significance": "沂蒙山区是抗战时期山东党政军机关驻地,2014年建馆,收藏文物500余件,包括'沂蒙母亲'王换于相关文物。",
  181. "learning_point": "学习沂蒙精神,了解革命根据地建设历史",
  182. "short_desc": "展示沂蒙革命老区历史的专题纪念馆",
  183. "address": "山东省临沂市兰山区银雀山路与沂蒙路交汇处",
  184. "latitude": 35.0522,
  185. "longitude": 118.3478,
  186. "ticket_info": "凭身份证免费参观",
  187. "open_hours": "09:00-16:30",
  188. "image": "attractions/yimeng_revolution.jpg",
  189. "tags": ["museum", "红色旅游", "革命根据地"],
  190. "is_featured": True
  191. },
  192. {
  193. "name": "铁道游击队纪念园",
  194. "city": "枣庄市",
  195. "description": "包含纪念碑、影视厅和微山湖抗战场景复原,展示铁道游击队扒火车、炸桥梁的传奇历史。",
  196. "history_significance": "1940-1945年,鲁南铁道大队在津浦铁路沿线作战百余次,小说《铁道游击队》原型。纪念园2005年建成。",
  197. "learning_point": "学习游击战术,了解敌后抗战的艰苦卓绝",
  198. "short_desc": "纪念抗日战争时期铁道游击队的专题园区",
  199. "address": "山东省枣庄市薛城区临山路",
  200. "latitude": 34.8025,
  201. "longitude": 117.2639,
  202. "ticket_info": "门票30元",
  203. "open_hours": "08:30-17:30",
  204. "image": "attractions/railway_guerrillas.jpg",
  205. "tags": ["memorial", "红色旅游", "游击队"],
  206. "is_featured": True
  207. },
  208. {
  209. "name": "八路军115师司令部旧址",
  210. "city": "临沂市",
  211. "description": "完整保留抗战时期八路军办公场所,含罗荣桓故居、作战指挥室等历史原貌陈列。",
  212. "history_significance": "1941-1945年八路军115师师部驻地,现存四合院建筑群54间,2006年被列为全国重点文物保护单位。",
  213. "learning_point": "学习八路军抗战历史,了解敌后抗日根据地建设",
  214. "short_desc": "抗日战争时期八路军115师司令部驻地",
  215. "address": "山东省临沂市莒南县大店镇",
  216. "latitude": 35.1758,
  217. "longitude": 118.8267,
  218. "ticket_info": "门票40元",
  219. "open_hours": "08:30-17:00",
  220. "image": "attractions/115division.jpg",
  221. "tags": ["revolution", "红色旅游", "八路军"],
  222. "is_featured": True
  223. },
  224. {
  225. "name": "莱芜战役纪念馆",
  226. "city": "济南市",
  227. "description": "通过全景画、文物和沙盘展示1947年莱芜战役,包含陈毅、粟裕指挥所复原场景。",
  228. "history_significance": "1947年2月华东野战军歼灭国民党军5.6万,创运动战典范。纪念馆全景画高17米,周长120米。",
  229. "learning_point": "学习运动战战术,了解解放战争重大战役",
  230. "short_desc": "展示1947年莱芜战役的专题馆",
  231. "address": "济南市莱芜区英雄北路",
  232. "latitude": 36.2139,
  233. "longitude": 117.6767,
  234. "ticket_info": "凭身份证免费参观",
  235. "open_hours": "08:30-17:00",
  236. "image": "attractions/laiwu_battle.jpg",
  237. "tags": ["memorial", "红色旅游", "解放战争"],
  238. "is_featured": True
  239. },
  240. {
  241. "name": "红嫂纪念馆",
  242. "city": "临沂市",
  243. "description": "展示明德英、王换于等沂蒙红嫂感人事迹,含乳汁救伤员场景复原和400余件革命文物。",
  244. "history_significance": "抗战时期沂蒙妇女用乳汁救治伤员、抚养革命后代。2004年建馆,江泽民题写馆名。",
  245. "learning_point": "学习沂蒙红嫂无私奉献精神,了解军民鱼水情",
  246. "short_desc": "纪念沂蒙红嫂感人事迹的专题馆",
  247. "address": "山东省临沂市沂南县马牧池乡",
  248. "latitude": 35.4625,
  249. "longitude": 118.2872,
  250. "ticket_info": "门票30元",
  251. "open_hours": "08:30-17:00",
  252. "image": "attractions/red_sisters.jpg",
  253. "tags": ["memorial", "红色旅游", "革命精神"],
  254. "is_featured": True
  255. },
  256. {
  257. "name": "大青山突围战遗址",
  258. "city": "临沂市",
  259. "description": "保存战壕、指挥部等战场遗迹,纪念馆通过影像资料展示1941年突围战全过程。",
  260. "history_significance": "1941年11月,抗大一分校在此掩护机关突围,以牺牲300人代价保护了山东党政军领导机关。",
  261. "learning_point": "学习革命先烈英勇牺牲精神,了解突围战历史",
  262. "short_desc": "抗日战争时期著名突围战遗址",
  263. "address": "山东省临沂市费县薛庄镇",
  264. "latitude": 35.3528,
  265. "longitude": 117.9875,
  266. "ticket_info": "门票30元",
  267. "open_hours": "08:30-17:00",
  268. "image": "attractions/daqingshan.jpg",
  269. "tags": ["revolution", "红色旅游", "抗日战争"],
  270. "is_featured": True
  271. },
  272. {
  273. "name": "胶东革命纪念馆",
  274. "city": "烟台市",
  275. "description": "系统展示胶东地区革命史,含许世友指挥所复原、地下印刷所场景等特色展区。",
  276. "history_significance": "胶东地区是山东革命重要根据地,纪念馆2014年开放,展出历史照片1200余幅,文物300余件。",
  277. "learning_point": "学习胶东革命历史,了解根据地建设经验",
  278. "short_desc": "展示胶东地区革命历史的专题纪念馆",
  279. "address": "山东省烟台市芝罘区南大街61号",
  280. "latitude": 37.5328,
  281. "longitude": 121.3850,
  282. "ticket_info": "凭身份证免费参观",
  283. "open_hours": "09:00-16:30",
  284. "image": "attractions/jiaodong.jpg",
  285. "tags": ["museum", "红色旅游", "革命历史"],
  286. "is_featured": True
  287. },
  288. {
  289. "name": "解放阁",
  290. "city": "济南市",
  291. "description": "济南战役攻城突破口遗址上建立的纪念性建筑,登阁可俯瞰护城河及老城区风貌。",
  292. "history_significance": "1948年解放军由此突破城墙,1965年建阁,1986年改建为战役纪念建筑,陈毅题写阁名。",
  293. "learning_point": "了解济南战役突破城垣历史,学习攻坚精神",
  294. "short_desc": "济南战役突破城垣遗址纪念建筑",
  295. "address": "济南市历下区黑虎泉北路",
  296. "latitude": 36.6667,
  297. "longitude": 117.0333,
  298. "ticket_info": "凭身份证免费参观",
  299. "open_hours": "08:30-17:00",
  300. "image": "attractions/jiefangge.jpg",
  301. "tags": ["memorial", "红色旅游", "解放战争"],
  302. "is_featured": True
  303. },
  304. {
  305. "name": "天福山起义纪念馆",
  306. "city": "威海市",
  307. "description": "纪念1937年天福山起义,展示山东人民抗日救国军第三军创建历程和历史文物。",
  308. "history_significance": "1937年12月24日,胶东特委在此发动起义,建立党领导的第一支胶东人民抗日武装。纪念馆1985年建成。",
  309. "learning_point": "学习武装起义历史,了解早期抗日武装创建",
  310. "short_desc": "纪念1937年天福山起义的专题馆",
  311. "address": "山东省威海市文登区文登营镇",
  312. "latitude": 37.2528,
  313. "longitude": 122.0567,
  314. "ticket_info": "凭身份证免费参观",
  315. "open_hours": "09:00-16:30",
  316. "image": "attractions/tianfushan.jpg",
  317. "tags": ["memorial", "红色旅游", "武装起义"],
  318. "is_featured": True
  319. },
  320. {
  321. "name": "沂蒙山小调诞生地",
  322. "city": "临沂市",
  323. "description": "《沂蒙山小调》诞生地纪念馆展示歌曲创作背景和手稿,复原抗大文工团创作场景。",
  324. "history_significance": "1940年抗大一分校文工团在此创作《沂蒙山小调》,后成为歌颂沂蒙精神的代表性歌曲。",
  325. "learning_point": "了解革命文艺创作背景,学习沂蒙精神",
  326. "short_desc": "著名革命歌曲《沂蒙山小调》的创作地",
  327. "address": "山东省临沂市费县薛庄镇",
  328. "latitude": 35.3828,
  329. "longitude": 117.9875,
  330. "ticket_info": "门票20元",
  331. "open_hours": "08:30-17:00",
  332. "image": "attractions/yimeng_song.jpg",
  333. "tags": ["revolution", "红色旅游", "革命文化"],
  334. "is_featured": True
  335. },
  336. {
  337. "name": "鲁南人民抗日武装起义纪念馆",
  338. "city": "枣庄市",
  339. "description": "通过历史照片和文物展示1938年鲁南人民抗日武装起义全过程,含起义领导人雕塑群。",
  340. "history_significance": "1938年5月中共苏鲁豫皖边区特委在此发动起义,创建鲁南抗日根据地。纪念馆2015年建成。",
  341. "learning_point": "学习武装起义历史,了解早期抗日根据地创建",
  342. "short_desc": "纪念1938年鲁南人民抗日武装起义的专题馆",
  343. "address": "山东省枣庄市山亭区北庄镇",
  344. "latitude": 35.2025,
  345. "longitude": 117.5639,
  346. "ticket_info": "凭身份证免费参观",
  347. "open_hours": "09:00-16:30",
  348. "image": "attractions/lunan_uprising.jpg",
  349. "tags": ["memorial", "红色旅游", "武装起义"],
  350. "is_featured": True
  351. },
  352. {
  353. "name": "胶东抗日烈士陵园",
  354. "city": "烟台市",
  355. "description": "胶东地区规模最大的抗日烈士纪念地,含烈士纪念碑、纪念馆和3000余座烈士墓。",
  356. "history_significance": "建于1945年,安葬着理琪、林江等著名烈士。主纪念碑高21米,象征21响礼炮致敬英烈。",
  357. "learning_point": "缅怀抗日先烈,学习革命精神",
  358. "short_desc": "纪念胶东抗日斗争中牺牲烈士的陵园",
  359. "address": "山东省烟台市牟平区龙泉镇",
  360. "latitude": 37.3828,
  361. "longitude": 121.6872,
  362. "ticket_info": "凭身份证免费参观",
  363. "open_hours": "08:00-17:00",
  364. "image": "attractions/jiaodong_martyrs.jpg",
  365. "tags": ["martyrs", "红色旅游", "抗日战争"],
  366. "is_featured": True
  367. },
  368. {
  369. "name": "山东省政府旧址",
  370. "city": "临沂市",
  371. "description": "中国共产党领导的第一个省级人民政府旧址,复原省政府办公厅、会议室等历史场景。",
  372. "history_significance": "1945年8月13日山东省政府在此成立,是中国共产党领导的第一个省级政权。现存四合院建筑群42间。",
  373. "learning_point": "了解早期人民政权建设历史,学习民主政府经验",
  374. "short_desc": "中国共产党领导的第一个省级政府旧址",
  375. "address": "山东省临沂市莒南县大店镇",
  376. "latitude": 35.1758,
  377. "longitude": 118.8267,
  378. "ticket_info": "门票30元",
  379. "open_hours": "08:30-17:00",
  380. "image": "attractions/shandong_gov.jpg",
  381. "tags": ["revolution", "红色旅游", "政府旧址"],
  382. "is_featured": True
  383. },
  384. {
  385. "name": "徂徕山抗日武装起义旧址",
  386. "city": "泰安市",
  387. "description": "保存起义指挥部旧址、誓师大会遗址等,纪念馆展示起义文物和历史照片200余件。",
  388. "history_significance": "1938年1月1日中共山东省委在此发动起义,打响省委独立领导山东抗战第一枪。现存石刻标语30余处。",
  389. "learning_point": "学习武装起义历史,了解早期抗日斗争",
  390. "short_desc": "1938年徂徕山抗日武装起义发生地",
  391. "address": "山东省泰安市岱岳区徂徕镇",
  392. "latitude": 36.1028,
  393. "longitude": 117.2567,
  394. "ticket_info": "门票20元",
  395. "open_hours": "08:30-17:00",
  396. "image": "attractions/culai_uprising.jpg",
  397. "tags": ["revolution", "红色旅游", "武装起义"],
  398. "is_featured": True
  399. },
  400. {
  401. "name": "黑铁山抗日武装起义旧址",
  402. "city": "淄博市",
  403. "description": "起义指挥部旧址复原展示,含起义使用过的武器、文件等文物,配套建有纪念广场。",
  404. "history_significance": "1937年12月26日中共山东省委在此发动起义,是山东最早的抗日武装起义之一。纪念馆1985年建成。",
  405. "learning_point": "学习早期抗日武装起义历史,了解游击战争经验",
  406. "short_desc": "1937年黑铁山抗日武装起义发生地",
  407. "address": "山东省淄博市张店区卫固镇",
  408. "latitude": 36.8528,
  409. "longitude": 118.0567,
  410. "ticket_info": "门票20元",
  411. "open_hours": "08:30-17:00",
  412. "image": "attractions/heitie_mountain.jpg",
  413. "tags": ["revolution", "红色旅游", "武装起义"],
  414. "is_featured": True
  415. },
  416. {
  417. "name": "马石山十勇士纪念馆",
  418. "city": "威海市",
  419. "description": "通过雕塑、影像展示十勇士掩护群众突围事迹,收藏烈士遗物和战斗武器30余件。",
  420. "history_significance": "1942年冬,十位八路军战士为掩护群众突围与日军激战牺牲。纪念馆2014年建成,习近平曾视察。",
  421. "learning_point": "学习革命战士舍己为人精神,了解军民鱼水情",
  422. "short_desc": "纪念1942年十位英勇牺牲的八路军战士",
  423. "address": "山东省威海市乳山市马石山",
  424. "latitude": 36.9528,
  425. "longitude": 121.5872,
  426. "ticket_info": "凭身份证免费参观",
  427. "open_hours": "08:30-17:00",
  428. "image": "attractions/mashi_mountain.jpg",
  429. "tags": ["memorial", "红色旅游", "英雄事迹"],
  430. "is_featured": True
  431. },
  432. {
  433. "name": "沂蒙革命根据地旧址群",
  434. "city": "临沂市",
  435. "description": "包含中共山东分局、八路军115师司令部等12处革命旧址,配套建设红色体验区。",
  436. "history_significance": "抗战时期山东党政军机关驻地,现存革命旧址42处,被誉为'山东的小延安'。2015年整体保护开发。",
  437. "learning_point": "全面了解沂蒙革命根据地历史,学习根据地建设经验",
  438. "short_desc": "包含多处重要革命旧址的遗址群",
  439. "address": "山东省临沂市沂南县",
  440. "latitude": 35.5522,
  441. "longitude": 118.4478,
  442. "ticket_info": "门票60元",
  443. "open_hours": "08:30-17:00",
  444. "image": "attractions/yimeng_base.jpg",
  445. "tags": ["revolution", "红色旅游", "旧址群"],
  446. "is_featured": True
  447. },
  448. {
  449. "name": "英雄山革命烈士陵园",
  450. "city": "济南市",
  451. "description": "济南规模最大的革命烈士纪念地,含烈士墓区、革命烈士纪念塔和济南战役纪念馆。",
  452. "history_significance": "始建于1949年,安葬1502名烈士。1968年毛泽东题词'革命烈士纪念塔',塔高34.328米。",
  453. "learning_point": "缅怀革命先烈,学习革命精神",
  454. "short_desc": "济南规模最大的革命烈士陵园",
  455. "address": "济南市市中区英雄山路18号",
  456. "latitude": 36.6186,
  457. "longitude": 117.0014,
  458. "ticket_info": "凭身份证免费参观",
  459. "open_hours": "全天开放",
  460. "image": "attractions/hero_mountain.jpg",
  461. "tags": ["martyrs", "红色旅游", "烈士陵园"],
  462. "is_featured": True
  463. },
  464. {
  465. "name": "五三惨案纪念园",
  466. "city": "济南市",
  467. "description": "含'五三'纪念碑、纪念亭和蔡公时纪念馆,通过历史照片展示1928年惨案真相。",
  468. "history_significance": "1928年5月3日日军杀害中国外交官蔡公时及军民6000余人。纪念园1995年建成,存有惨案见证钟。",
  469. "learning_point": "了解近代屈辱历史,激发爱国情怀",
  470. "short_desc": "纪念1928年'五三惨案'的遗址",
  471. "address": "济南市趵突泉公园内",
  472. "latitude": 36.6667,
  473. "longitude": 117.0333,
  474. "ticket_info": "凭身份证免费参观",
  475. "open_hours": "08:00-18:00",
  476. "image": "attractions/wusan_memorial.jpg",
  477. "tags": ["memorial", "红色旅游", "历史事件"],
  478. "is_featured": True
  479. },
  480. {
  481. "name": "大峰山革命遗址",
  482. "city": "济南市",
  483. "description": "包含中共长清县委旧址、八路军山东纵队第六支队成立旧址等8处革命遗迹。",
  484. "history_significance": "1938-1945年长清县革命活动中心,现存石屋、地道等遗址,被誉为'长清的小延安'。",
  485. "learning_point": "了解地方革命历史,学习地下斗争经验",
  486. "short_desc": "抗战时期长清县革命活动中心遗址",
  487. "address": "济南市长清区孝里镇",
  488. "latitude": 36.4028,
  489. "longitude": 116.7567,
  490. "ticket_info": "门票50元",
  491. "open_hours": "08:30-17:00",
  492. "image": "attractions/dafeng_mountain.jpg",
  493. "tags": ["revolution", "红色旅游", "遗址群"],
  494. "is_featured": True
  495. },
  496. {
  497. "name": "辛锐纪念馆",
  498. "city": "济南市",
  499. "description": "展示革命烈士辛锐的书画作品、生平事迹,复原其创作环境和牺牲场景。",
  500. "history_significance": "辛锐(1918-1941)为著名革命艺术家,在沂蒙山区反扫荡中壮烈牺牲。2014年在其家乡建馆。",
  501. "learning_point": "学习革命艺术家的爱国精神,了解抗战文化工作",
  502. "short_desc": "纪念革命艺术家辛锐的专题馆",
  503. "address": "济南市章丘区刁镇",
  504. "latitude": 36.7028,
  505. "longitude": 117.5267,
  506. "ticket_info": "凭身份证免费参观",
  507. "open_hours": "09:00-16:30",
  508. "image": "attractions/xinrui_memorial.jpg",
  509. "tags": ["memorial", "红色旅游", "革命烈士"],
  510. "is_featured": True
  511. },
  512. {
  513. "name": "历城革命烈士陵园",
  514. "city": "济南市",
  515. "description": "安葬历城战役等各时期烈士1276名,建有22米高革命烈士纪念碑和革命历史展馆。",
  516. "history_significance": "始建于1955年,2014年改造升级。园内革命历史展馆详载历城区重大战役史料。",
  517. "learning_point": "缅怀地方革命先烈,了解历城革命历史",
  518. "short_desc": "安葬1276名革命烈士的陵园",
  519. "address": "济南市历城区英雄山路",
  520. "latitude": 36.6828,
  521. "longitude": 117.0767,
  522. "ticket_info": "凭身份证免费参观",
  523. "open_hours": "08:00-17:00",
  524. "image": "attractions/licheng_martyrs.jpg",
  525. "tags": ["martyrs", "红色旅游", "烈士陵园"],
  526. "is_featured": True
  527. },
  528. {
  529. "name": "济南市党史陈列馆",
  530. "city": "济南市",
  531. "description": "系统展示济南党组织1921年成立以来的发展历程,含珍贵党史档案500余件。",
  532. "history_significance": "2011年建党90周年时建成开放,2021年完成展陈升级,包括'齐鲁曙光''浴血奋战'等六大展区。",
  533. "learning_point": "系统学习济南党史,了解地方党组织发展历程",
  534. "short_desc": "展示济南党组织发展历程的专题馆",
  535. "address": "济南市历下区经十路21028号",
  536. "latitude": 36.6528,
  537. "longitude": 117.0267,
  538. "ticket_info": "凭身份证免费参观",
  539. "open_hours": "09:00-17:00",
  540. "image": "attractions/jinan_party.jpg",
  541. "tags": ["museum", "红色旅游", "党史教育"],
  542. "is_featured": True
  543. },
  544. {
  545. "name": "泺口九烈士纪念碑",
  546. "city": "济南市",
  547. "description": "纪念1933年8月被国民党杀害的9名中共山东地下党领导人,建有12米高纪念碑和浮雕墙。",
  548. "history_significance": "1933年山东省委遭破坏,李春亭、段亦民等9人在此英勇就义。1989年立碑纪念,碑文由谷牧题写。",
  549. "learning_point": "学习地下党人英勇不屈精神,了解白色恐怖时期斗争历史",
  550. "short_desc": "纪念1933年牺牲的9名中共地下党领导人",
  551. "address": "济南市天桥区泺口街道黄河大坝南侧",
  552. "latitude": 36.7028,
  553. "longitude": 116.9867,
  554. "ticket_info": "凭身份证免费参观",
  555. "open_hours": "全天开放",
  556. "image": "attractions/luokou_martyrs.jpg",
  557. "tags": ["martyrs", "红色旅游", "历史事件"],
  558. "is_featured": True
  559. },
  560. {
  561. "name": "平阴县委旧址纪念馆",
  562. "city": "济南市",
  563. "description": "抗日战争时期平阴县委驻地,复原县委办公室、地道等历史场景,展示抗战文物200余件。",
  564. "history_significance": "1939-1942年间中共平阴县委在此领导抗日斗争,现存石砌民居6间及抗战时期地道遗址。",
  565. "learning_point": "了解地方党组织抗战历史,学习地下工作方法",
  566. "short_desc": "抗战时期平阴县委驻地旧址",
  567. "address": "济南市平阴县孔村镇",
  568. "latitude": 36.2528,
  569. "longitude": 116.4567,
  570. "ticket_info": "凭身份证免费参观",
  571. "open_hours": "08:30-17:00",
  572. "image": "attractions/pingyin_memorial.jpg",
  573. "tags": ["revolution", "红色旅游", "县委旧址"],
  574. "is_featured": True
  575. },
  576. {
  577. "name": "历城抗日纪念馆",
  578. "city": "济南市",
  579. "description": "依托大南营战斗遗址建设,展示历城军民1937-1945年抗日斗争史实和22处抗战石刻标语。",
  580. "history_significance": "1944年八路军在此歼灭日军一个小队,现存战场遗址和22处抗战时期石刻标语。",
  581. "learning_point": "了解地方抗日历史,学习军民团结抗战经验",
  582. "short_desc": "展示历城军民抗日斗争史的专题馆",
  583. "address": "济南市历城区西营镇",
  584. "latitude": 36.5528,
  585. "longitude": 117.1267,
  586. "ticket_info": "凭身份证免费参观",
  587. "open_hours": "09:00-16:30",
  588. "image": "attractions/licheng_anti_japanese.jpg",
  589. "tags": ["memorial", "红色旅游", "抗日战争"],
  590. "is_featured": True
  591. },
  592. {
  593. "name": "商河县革命烈士陵园",
  594. "city": "济南市",
  595. "description": "安葬抗日战争、解放战争时期烈士863名,中央矗立19.49米高纪念碑和革命历史展馆。",
  596. "history_significance": "始建于1955年,2015年改建。园内'商河革命历史展馆'详载本县重大战役史料。",
  597. "learning_point": "缅怀地方革命先烈,了解商河革命历史",
  598. "short_desc": "安葬863名革命烈士的陵园",
  599. "address": "济南市商河县青年路东首",
  600. "latitude": 37.3028,
  601. "longitude": 117.1567,
  602. "ticket_info": "凭身份证免费参观",
  603. "open_hours": "08:00-18:00",
  604. "image": "attractions/shanghe_martyrs.jpg",
  605. "tags": ["martyrs", "红色旅游", "烈士陵园"],
  606. "is_featured": True
  607. },
  608. {
  609. "name": "钢城区莱芜战役指挥所旧址",
  610. "city": "济南市",
  611. "description": "陈毅、粟裕在此指挥莱芜战役的四合院旧址,保留作战地图、电报机等历史场景。",
  612. "history_significance": "1947年2月华东野战军前线指挥所设此,现为省级文保单位,院内保留百年古梨树。",
  613. "learning_point": "了解战役指挥艺术,学习军事指挥经验",
  614. "short_desc": "莱芜战役前线指挥所旧址",
  615. "address": "济南市钢城区辛庄镇石湾子村",
  616. "latitude": 36.1028,
  617. "longitude": 117.8067,
  618. "ticket_info": "门票15元",
  619. "open_hours": "08:30-17:00",
  620. "image": "attractions/laiwu_command.jpg",
  621. "tags": ["revolution", "红色旅游", "战役遗址"],
  622. "is_featured": True
  623. },
  624. {
  625. "name": "济南乡师党史陈列室",
  626. "city": "济南市",
  627. "description": "山东省立乡村师范学校旧址,山东党组织重要活动地,现存'红色乡师'专题展和地下印刷所复原。",
  628. "history_significance": "1932-1937年间该校培养200余名党员,赵健民、姚仲明等曾在此开展地下工作。",
  629. "learning_point": "了解党的地下工作历史,学习革命教育经验",
  630. "short_desc": "山东党组织重要活动地旧址",
  631. "address": "济南市天桥区明湖西路",
  632. "latitude": 36.6828,
  633. "longitude": 116.9967,
  634. "ticket_info": "凭身份证免费参观",
  635. "open_hours": "预约开放",
  636. "image": "attractions/jinan_normal_school.jpg",
  637. "tags": ["education", "红色旅游", "党史教育"],
  638. "is_featured": True
  639. },
  640. {
  641. "name": "章丘第一支抗日武装纪念馆",
  642. "city": "济南市",
  643. "description": "展示1937年成立的章丘人民抗日救国军斗争史,含武器、文件等实物展品和战斗场景复原。",
  644. "history_significance": "1937年12月李曼村等在此建立章丘首支抗日武装,后编入八路军山东纵队。",
  645. "learning_point": "了解地方抗日武装创建历史,学习早期抗战经验",
  646. "short_desc": "展示章丘首支抗日武装斗争史的专题馆",
  647. "address": "济南市章丘区普集街道三山峪村",
  648. "latitude": 36.7528,
  649. "longitude": 117.5267,
  650. "ticket_info": "凭身份证免费参观",
  651. "open_hours": "09:00-16:30",
  652. "image": "attractions/zhangqiu_anti_japanese.jpg",
  653. "tags": ["memorial", "红色旅游", "武装起义"],
  654. "is_featured": True
  655. }
  656. ]