美文网首页
3.3Django的模型的创建、数据模型的操作

3.3Django的模型的创建、数据模型的操作

作者: 昵称又重复 | 来源:发表于2018-04-26 15:21 被阅读10次

    上一章中我们介绍了什么是Django,还介绍了Django的优点。今天,我们来说一下Django的安装并且要创建一个Django项目。准备好了吗?我要开车了哈!


    Django的版本众多,python的版本也不少。可以相互搭配使用的有下面这些。

    Django的版本和支持的Python版本

    Django 1.5.x 支持 Python 2.6.5 Python 2.7, Python 3.2 和 3.3.
    Django 1.6.x 支持 Python 2.6.X, 2.7.X, 3.2.X 和 3.3.X
    Django 1.7.x 支持 Python 2.7, 3.2, 3.3, 和 3.4 (注意: Python 2.6 不支持了)
    Django 1.8.x 支持 Python 2.7, 3.2, 3.3, 3.4 和 3.5. (长期支持版本 LTS)
    Django 1.9.x 支持 Python 2.7, 3.4 和 3.5. 不支持 3.3 了
    Django 1.10.x 支持 Python 2.7, 3.4 和 3.5.
    Django 1.11.x 支持 Python 2.7, 3.4, 3.5 和 3.6, 17 年 4 月 4 号 已经发布(长期支持版本 LTS)
    Django 2.0.

    Django安装命令:指定版本安装:

    pip install django==1.8.2
    pip install Django==2.0.3
    

    Django安装命令安装最新版本:

    pip install django
    

    检查是否安装成功

    进入python 环境,运行如下代码:
    import django
    django.get_version()
    
    安装成功.png

    安装mysql-python

    python 2.7 : pip install mysql-python
    python 3.x : pip install mysql
    

    创建Django项目

    命令:django-admin startproject test1
    

    创建应用

    命令:python manage.py startapp  booktest
    

    这样我们就创建了一个Django的test1项目。在这个项目下创建了一个应用booktest

    数据库的配置

    Django 默认使用 SQLite 数据库
    Mysql 配置:

    DATABASES = {
        'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': '127.0.0.1',
        'PORT': '3306',
        }
    }
    

    说明:
    NAME: 指定的数据库名,如果是 sqlite 的话,就需要填数据库文件的绝对位置。
    USER: 数据库登录的用户名, mysql 一般都是 root。
    PASSWORD:登录数据库的密码,必须是 USER 用户所对应的密码。
    HOST: 由于一般的数据库都是 C/S 结构的,所以得指定数据库服务器的位置,我们一般数据库服务器和客户端都是在一台主机上面,所以一般默认都填 127.0.0.1
    PORT:数据库服务器端口, mysql 默认为 3306
    HOST 和 PORT 都可以不填,使用默认的配置,但是如果你有更改默认配置的话,就需要填入更改后的。

    定义模型类:

    有一个数据表,就有一个模型类与之对应
     打开 models.py 文件,定义模型类
     引入包 from django.db import models
     模型类继承自 models.Model 类
     说明:不需要定义主键列,在生成时会自动添加,并且值为自动增长
     当输出对象时,会调用对象的 str 方法
    django 在同步 models 时候会自动为每个表创建 1 个 id 字段==pk 字段。

    from django.db import models
    
    class BookInfo(models.Model):
          btitle = models.CharField(max_length=20)
          bpub_date = models.DateTimeField()
          def __str__(self):
              return "%d" % self.pk
    
    class HeroInfo(models.Model):
        hname = models.CharField(max_length=20)
        hgender = models.BooleanField()
        hcontent = models.CharField(max_length=100)
        hBook = models.ForeignKey('BookInfo',on_delete=models.CASCADE)
        def __str__(self):
              return "%d" % self.pk
    

    生成数据表

    激活模型
    编辑 settings.py 文件,将 booktest 应用加入到 installed_apps 中


    激活模型.png

    新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到 app 中的模板
    文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件)

    生成迁移文件

    python manage.py makemigrations
    

    执行迁移

    python manage.py migrate
    

    运行项目

    python manage.py runserver 
    

    结束运行,我们来创建一个管理员

    python manage.py createsuperuser
    

    启动服务器,通过“127.0.0.1:8000/admin” 访问,输入上面创建的用户名、密码完成
    登录
     进入管理站点,默认可以对 groups、 users 进行管理

    相关文章

      网友评论

          本文标题:3.3Django的模型的创建、数据模型的操作

          本文链接:https://www.haomeiwen.com/subject/rhtvkftx.html