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的管理组

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

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

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

  • 相关阅读:
    [转]SVN服务器搭建和使用(二)
    [转]SVN服务器搭建和使用(一)
    BZOJ 2049 Sdoi2008 Cave 洞穴勘测
    BZOJ 1589 Usaco2008 Dec Trick or Treat on the Farm 采集糖果
    BZOJ 2796 POI2012 Fibonacci Representation
    BZOJ 2115 Wc2011 Xor
    BZOJ 3105 CQOI2013 新Nim游戏
    BZOJ 2460 Beijing2011 元素
    BZOJ 3687 简单题
    BZOJ 1068 SCOI2008 压缩
  • 原文地址:https://www.cnblogs.com/zengjielin/p/8487077.html
Copyright © 2011-2022 走看看