django自我学习(一)

写在前面:这个专栏专门用来存放我对python Web的学习,是从Web小白开始的学习。其中如果有错误欢迎大家指正。我所参考的学习视频如下:

最新Python的web开发全家桶(django+前端+数据库)_哔哩哔哩_bilibili

这个专栏放在这里,给同样学习python Web的人一个参考,也算是我的学习笔记,仅供大家参考。

说明:django的安装以及mysql的安装配置我全部是按照以上推荐的视频中去做的,在这里不再赘述。

这里是一个备忘录,有关于django项目的启动:

django项目的启动

我使用的是pycharm的社区版,里面找不到视频中老师说的按钮(我不会/(ㄒoㄒ)/~~),然后我就使用命令行来做了。在pycharm中打开Terminal:

我感觉这个就类似于命令行吧。就在这里面写:首先找到django项目存放的位置:

然后输入以下命令(这个跟视频中老师讲的略有不同,因为老师的那个做不出来):

python manage.py runserver

按下回车键之后就可以看到:

点击蓝色的页面链接就可以啦~

django连接数据库mysql

事先说明:在视频中老师讲到,django有自带的orm框架来连接数据库,这里的orm框架就像一个翻译器,我们不需要写sql语言就可以对数据库中的数据进行管理。orm框架可以帮助我们做两件事:

  • 实现数据库中表的增加、删除、修改
  • 操作表中的数据

首先在找到setting.py文件:

对其中的数据库文件进行配置:

DATABASES = {
    'default':{
        'ENGINE':'django.db.backends.mysql',
        'NAME':'数据库名',
        'USER':'用户名',
        'PASSWORD':'密码',
        'HOST':'连接数据库的主机地址',
        'POST':端口号(例如:3306),
    }
}

django实现数据库类的增加和删除

配置完成后打开models.py,在这个文件里我们可以创建所需要的类:

from django.db import models

# Create your models here.
class userInfo(models.Model):
    name=models.CharField(max_length=32)
    password=models.CharField(max_length=16)
    age=models.IntegerField()


'''
django会自动帮我们将这些语句转换成sql语句
这里就相当于我们在mysql中创建了一个表:
create table app01_userinfo(
    id bigint auto_increment primary key,
    name varchar(32),
    password varchar(16),
    age int,
)
id那一行是自动生成的,就算我们不写,django也会默认创建。



'''

在做完这些之后,如果我们查看数据库,会发现数据库中还是没有我们刚创建的表,需要在命令行(也就是Terminal中)分别执行两句命令,注意:这两个命令还是要先锁定django项目的位置再输入:

>>>python manage.py makemigrations
>>>python manage.py migrate

然后,就可以在数据库中找到刚刚创建的表啦~

在django中删除表的操作也很简单~只需要将在models.py中所建立的类删掉,然后重新执行以上两条命令行指令就可以了~(想删除表中的某一列也可以采用这种做法哦)

为数据库中已有表添加新列

这里有一个问题:这是一张已有的表,那么如果这张表中已经有了数据,再添加新列时这一列的值都没有怎么办?

django为我们提供了三种解决方法:

  • 使用default参数
  • 通过命令行指定默认值
  • 允许这列属性值为null

先来说第一种,可以直接使用default参数来做:

#例如,age是我们新加在表中的列:
age=models.IntegerField(default=2)

第二种,直接上命令行运行(这里直接视频中老师的截图):

第三种:

age=models.IntegerField(null=True,blank=True)

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值