标题
创建项目

配置数据库
》创建数据库

》pycharm连接数据库

》django连接数据库
第一步

第二步
添加配置
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dj2019',
'USER': 'root',
'PASSWORD': 'root',
'HOST': '127.0.0.1',
'PORT': '3306'
}
添加应用

注册应用

应用内创建一个模型类
》本例自关联的
from django.db import models
# Create your models here.
class City(models.Model):
name = models.CharField(max_length=20)
pid = models.ForeignKey("self", on_delete=models.CASCADE, default=None, null=True)
def __str__(self):
return self.name
》生成迁移文件

》迁移

》迁移后得到的表有

创建数据,省级城市
一波数据在City表中
》写了一个工具路由

》写一个视图函数
创建一波省级城市,省级城市的父id为空
def create_data(request):
""" 临时创建数据用途 """
from appone import models
chars = "断华江辉银市宝剑大地闪石王座绢母环蒸汽江云母峰峦蓝铜沙漠镁铁之森镁铁断层冬青天空透石堡断华裂口山下镇辉锑领铜蓝荒野锂辉峰峦灼热沼泽琥珀平原蓝铜裂口征服天空重盾深潭灼热河众箭村石榴湖泊幽灵沼泽阴暗镇蛇矛沙海剑矛沙海银泉深潭锂云山谷晦暗雨林不眠之地东辉带萤石村蛇矛裂口蒸汽沙漠卑微深潭白骨之地镜海之地绿帘湖泊天之荒野蓝宝石领阴暗雨林灰烬断层重盾陨落地冬泉之森碧空天空辉银天空辉银裂口埋骨海火刃祭坛元素之痕古树泥潭石槌王座刀塔崖海加尔海林边石日泉城高原王座沼光浮岛铁炉山谷索尔森灯塔亚考兰灯塔哈尔什郡碧玉空地刀塔湖佐拉姆洛克提尔谷地冬泉之脊北方水库凄凉湖迷雾哨塔塞拉摩王国雷斧圣殿古树之痕狂风林地奥特兰克城堡法迪尔农场尼加尔的之手阿尔科隆堡垒荒芜群岛坠星之痕悲伤岛提瑞斯法林地西部荒野前哨站法力王座火翼矿洞闪金海葬影谷幽暗之桥乌鸦营地来瑟罗前哨站暗礁矿洞铸魔圣殿西部丘陵激流神庙避难小径暮色环型山环礁森林日蚀峰铁炉神殿"
import random
for i in range(1, 11):
# 随机生成地名
char_list = random.sample(chars, random.randint(2, 5))
area_name = "".join(char_list)
# 保存地名
obj = models.City.objects.create(name=area_name)
print(obj)
return HttpResponse("数据创建成功")
创建数据-市级城市
def create_data(request):
""" 临时创建数据用途 """
from appone import models
chars = "断华江辉银市宝剑大地闪石王座绢母环蒸汽江云母峰峦蓝铜沙漠镁铁之森镁铁断层冬青天空透石堡断华裂口山下镇辉锑领铜蓝荒野锂辉峰峦灼热沼泽琥珀平原蓝铜裂口征服天空重盾深潭灼热河众箭村石榴湖泊幽灵沼泽阴暗镇蛇矛沙海剑矛沙海银泉深潭锂云山谷晦暗雨林不眠之地东辉带萤石村蛇矛裂口蒸汽沙漠卑微深潭白骨之地镜海之地绿帘湖泊天之荒野蓝宝石领阴暗雨林灰烬断层重盾陨落地冬泉之森碧空天空辉银天空辉银裂口埋骨海火刃祭坛元素之痕古树泥潭石槌王座刀塔崖海加尔海林边石日泉城高原王座沼光浮岛铁炉山谷索尔森灯塔亚考兰灯塔哈尔什郡碧玉空地刀塔湖佐拉姆洛克提尔谷地冬泉之脊北方水库凄凉湖迷雾哨塔塞拉摩王国雷斧圣殿古树之痕狂风林地奥特兰克城堡法迪尔农场尼加尔的之手阿尔科隆堡垒荒芜群岛坠星之痕悲伤岛提瑞斯法林地西部荒野前哨站法力王座火翼矿洞闪金海葬影谷幽暗之桥乌鸦营地来瑟罗前哨站暗礁矿洞铸魔圣殿西部丘陵激流神庙避难小径暮色环型山环礁森林日蚀峰铁炉神殿"
import random
all_city = ""
for i in range(1, 30):
# 随机生成地名
char_list = random.sample(chars, random.randint(2, 4))
area_name = "".join(char_list)
# 保存地名
obj = models.City.objects.create(name=area_name, pid_id=random.randint(1,10))
all_city += "<p>{}</p>".format(obj.name)
return HttpResponse(all_city)
创建数据-区级
from django.shortcuts import render, HttpResponse
# Create your views here.
def create_data(request):
""" 临时创建数据用途 """
from appone import models
chars = "断华江辉银市宝剑大地闪石王座绢母环蒸汽江云母峰峦蓝铜沙漠镁铁之森镁铁断层冬青天空透石堡断华裂口山下镇辉锑领铜蓝荒野锂辉峰峦灼热沼泽琥珀平原蓝铜裂口征服天空重盾深潭灼热河众箭村石榴湖泊幽灵沼泽阴暗镇蛇矛沙海剑矛沙海银泉深潭锂云山谷晦暗雨林不眠之地东辉带萤石村蛇矛裂口蒸汽沙漠卑微深潭白骨之地镜海之地绿帘湖泊天之荒野蓝宝石领阴暗雨林灰烬断层重盾陨落地冬泉之森碧空天空辉银天空辉银裂口埋骨海火刃祭坛元素之痕古树泥潭石槌王座刀塔崖海加尔海林边石日泉城高原王座沼光浮岛铁炉山谷索尔森灯塔亚考兰灯塔哈尔什郡碧玉空地刀塔湖佐拉姆洛克提尔谷地冬泉之脊北方水库凄凉湖迷雾哨塔塞拉摩王国雷斧圣殿古树之痕狂风林地奥特兰克城堡法迪尔农场尼加尔的之手阿尔科隆堡垒荒芜群岛坠星之痕悲伤岛提瑞斯法林地西部荒野前哨站法力王座火翼矿洞闪金海葬影谷幽暗之桥乌鸦营地来瑟罗前哨站暗礁矿洞铸魔圣殿西部丘陵激流神庙避难小径暮色环型山环礁森林日蚀峰铁炉神殿"
import random
all_city = ""
for i in range(1, 101):
# 随机生成地名
char_list = random.sample(chars, random.randint(2, 4))
area_name = "".join(char_list)
# 保存地名
obj = models.City.objects.create(name=area_name, pid_id=random.randint(11,39))
all_city += "<p>{}-{}</p>".format(obj.id, obj.name)
#
return HttpResponse(all_city)
模板路径配置

静态文件配置

本文介绍如何在Django项目中配置数据库,创建自关联的City模型,并通过视图函数批量生成省、市、区级城市数据。首先,通过PyCharm和Django连接数据库,配置数据库参数。接着,定义City模型类,实现自关联功能。最后,使用随机生成的地名创建数据,包括省级、市级和区级城市。
1887

被折叠的 条评论
为什么被折叠?



