zoukankan      html  css  js  c++  java
  • python3.5+django2.0快速入门(二)

    昨天写了python3.5+django2.0快速入门(一)今天将讲解配置数据库,创建模型,还有admin的后台管理。

    配置数据库

    我们打开mysite/mysite/settings.py这个文件。

    我们可以看到熟悉的databases,默认配置的数据库是 SQLite,如果你想使用其它的数据库,需要在文件中的 DATABASES 'default' 改变适当的值。

    os.path.join(BASE_DIR, 'db.sqlite3')表示在你项目根目录下的一个文件。

    比如我们想要连接mysql:

    我们还可以通过这样修改时区和中文设置。

    我们还可以看到INSTALLED_APPS有这些应用

    在django中一些应用程序使用至少一个数据库表,因此我们需要在数据库中创建表,然后才能使用它们。

    直接在终端输入命令:python manage.py migrate

    创建模型

    激活模型

    可以在INSTALLED_APPS里面加上'staffadmin'或者'staffadmin.apps.staffadminConfig'

      

    经过上面的操作我们已经注册staffadmin这个应用了,因为我们之前对模型做了一些改变,并且你想要把这些改变保存为 migration

    直接在终端输入命令:python manage.py makemigrations staffadmin

    如果我们想知道这个命令到底做了些什么,可以通过在终端直接输入命令: python manage.py sqlmigrate staffadmin 0001

    熟悉数据库的同学一看就明白,这不就是创建数据库表的操作命令吗?没错的确如此。

    然后我们还差最后一步就可以把数据库创建起来,

    直接在终端输入命令: python manage.py migrate staffadmin

    直到这一步,我们的数据库已经建好。现在我还要提醒的是,migrate 命令会执行所有还没应用的迁移,

    并会在数据库中执行相应的代码来同步你的修改.迁移是一个非常强大且有用的工具,可以让你在开发项目的任何时候,

    不需要对数据库进行删除增加等操作就完成修改,在升级数据库信息时也不会造成丢失.现在只需要记住以下这三个步骤:

    • 修改你的模型(在 models.py 文件中).
    • 运行 python manage.py makemigrations来为这些修改创建迁移.
    • 运行 python manage.py migrate 来应用这些改变到数据库.

    操作数据库(models)

     操作数据库无非就是增删改查。

    首先我们在终端输入命令python manage.py shell,然后先把我们的数据库表引进来。

    from staff.modles import  Department

    # 增
    # models.Department.objects.create(department_name='市场部') 增加一条数据,可以接受字典类型数据 **kwargs # obj = models.Department(department_name='市场部') # obj.save() # 查 # models.Department.objects.get(id=1) # 获取id=1的单条数据,不存在则报错(不建议) # models.Department.objects.all() # 获取全部数据 # models.Department.objects.filter(department_name='市场部') # 获取department_name='市场部'的数据 # models.Department.objects.exclude(department_name='市场部') # 获取除了department_name='市场部'的数据 # 删 # models.Department.objects.filter(department_name='市场部').delete() # 删除department_name='市场部'的数据 # 改 # models.Department.objects.filter(department_name='市场部').update(department_name='运营部') # 将department_name="市场部"改成"运营部",均支持 **kwargs # obj = models.Department.objects.get(id=1) # obj.department_name= '运营部' # obj.save() # 保存数据
    *当有一对多,多对一,或者多对多的关系的时候,先把相关的对象查询出来


    在这里我提一下ForeignKey,ManyToManyField与OneToOneField分别是Model中定义多对一,多对多,一对一关系


    在本例的教程中,我们可以知道一个员工只有一个部门,一个部门可以有多个员工,所以用了ForeignKeyField

     最后我们介绍一下admin站点的使用

    首先我们先创建一个超级用户的账号

    直接在终端输入命令:python manage.py createsupperuser,然后根据提示输入相关内容即可。

    此时我们可以通过浏览器访问http://127.0.0.1:8000/admin/,我们会看到下面的画面。

    此时我们发现我们写的models没有显示出来,是因为没有在admin上面注册。

    所以我们打开mysite/staffadmin/admin.py这个文件

    然后我们把models引进来

    写下如下代码:

     保存代码,然后刷新浏览器我们发现多了一个staffadmin的管理组

    最后我们可以点进去看下到底有什么

    通过界面展示我们可以轻松的完成数据库表的增删改查的操作了。

    由于时间紧迫,后面的就简单的带过了。可能写的还有些不足,不明白的问题可以在下方评论区留言哈!

  • 相关阅读:
    C语言第四章
    C第三章,指代数据
    DES+MD5加密
    时间选择器
    百度地图定位
    Httputils请求网络数据
    xStream解析xml文件
    pulltorefresh
    slidingmenu的应用
    Duutils创建数据库
  • 原文地址:https://www.cnblogs.com/zengjielin/p/8487077.html
Copyright © 2011-2022 走看看