django-新的django项目

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

标题

创建项目

在这里插入图片描述

配置数据库

》创建数据库

在这里插入图片描述

》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)

模板路径配置

在这里插入图片描述

静态文件配置

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸鱼编程pyhui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值