笔记5-Django框架生成项目与创建应用

使用 Django 生成一个新项目 myweb2

在命令行执行如下命令

django-admin startproject myweb2

创建一个应用,取名为 mybook

cd myweb2
python manage.py startapp mybook

要将应用添加到 setting.py 文件中,在settings.py文件中的INSTALLED_APPS加mybook,和修改相应的数据库信息

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'mybook',      # 将mybook应用配置到文件中
]

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'elect', # 数据库名
        'HOST':'localhost',
        'USER':'root',
        'PASSWORD':'123456789',
        'PORT':3306
    }
}

开启服务器,命令如下:

python manage.py runserver 

建立模型类:图书-作者

在django中,要建立一个数据库表------创建一个类来存放数据可表的内容,在 Django 中,若创建了一个模型类,则会有一个数据表与之对应。要定义模型类,则需要打开 myweb/myapp 目录下的 models.py 文件,并在该文件中使用“fromdjango.dbimportmodels”来导入包,特别要注意的是,在 本文件中的模型类,须继承自 models.Model 类。

from django.db import models
# Create your models here.
# 自定义类:图书类
class Book(models.Model):
    bname = models.CharField(max_length=20)
    bpublish = models.DateField()
    bkind = models.CharField(max_length=10)
    # 定义str
    def __str__(self):
        return self.bname
# 自定义作者类
class Author(models.Model):
    aname = models.CharField(max_length=10)
    asex = models.CharField(max_length=10)
    aage = models.IntegerField()
    abook = models.ForeignKey("Book")
    # 定义str
    def __str__(self):
        return self.aname

注意的是,上述创建的应用“myapp2”是否已成功加入到 settings.py 文件中的 INSTALLED_APPS 列表, 若已加入,则表名此应用已激活或该模型已激活。接下来,只需按照下列步骤完成即可成功生成数据表下面要来生成数据表,此时则需要如下命令来生成迁移文件,命令如下:

python manage.py makemigrations

,要完成执行迁移,即执行 SQL 语句生成数据表,注意:要先生成迁移文件再执行以下命令

python manage.py migrate

最后,使用 PythonShell,并往数据表中添加几条数据内容

python manage.py shell
>>> from mybook.models import Book
>>> from datetime import date
>>> book = Book()
>>> book.bname="Python Web"
>>> book.bpublish=date(2016,4,6)
>>> book.bkind="Python 技术类"
>>> book.save()

这是其中一种插入数据的方法,也可以使用以下这种方法插入数据

>>> b2=Book(2,'钓鱼大王','2014-9-1','生活类')
>>> b2.save()

向作者表中添加数据

>>> from mybook.models import Author
>>> a1=Author(1,'James','Male',41,1)
>>> a1.save()

查询一条数据和所有数据

Book.objects.get(id=1)
Book.objects.all()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值