• Django笔记:2.数据库的建立


    数据库的建立

    编辑mysite/settings.py,找到Database:

    # Database
    # https://docs.djangoproject.com/en/1.9/ref/settings/#databases
    
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }

    默认情况下,该配置使用Django自带的SQLite。如果你是数据库初学者,或者你仅仅是想要试用一下Django,它是最简单的选择。 SQLite包含在Python中,所以你不需要另外安装其他任何东西来支持你的数据库。 

    当然,你也可以使用其他数据库,如果你希望使用另外一种数据库,请安装合适的database binding,并在 DATABASES中修改配置以匹配你的数据库连接的设置。

    Django默认使用SQLite 建立一个数据库,这是比较简单的方法,可以使用以下配置:

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': 'mydatabase',
        }
    }

    当连接其他数据库后端,比如MySQL、Oracle 或PostgreSQL,必须提供更多的连接参数。关于如何指定其他的数据库类型,参见后面的ENGINE 设置。下面的例子用于PostgreSQL:

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

    更多设置见:http://python.usyiyi.cn/django/ref/settings.html#std:setting-DATABASES

    如果你使用PostgreSQL或者MySQL,确保到此你已经建立好一个数据库。 

    如果你使用SQLite,你不需要事先创建任何东西 —— 数据库文件将会在需要的时候自动创建。

     

    当你编辑mysite/settings.py时,请设置TIME_ZONE为你自己的时区。

    TIME_ZONE = 'Asia/Shanghai'

    另外,请注意文件顶端的INSTALLED_APPS设置。它保存这个Django实例中激活的所有的Django应用的名字。 应用可以使用在多个项目中,而且你可以将这些应用打包和分发给其他人在他们的项目中使用。

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
    ]

    默认情况下,INSTALLED_APPS包含下面的应用,它们都是Django 与生俱来的:

    然而上面的部分应用至少需要使用一个数据库表,因此我们需要在使用它们之前先在数据库中创建相应的表。要做到这一点,请在cmd运行以下命令:

    python manage.py migrate
    migrate查看INSTALLED_APPS设置并根据mysite/settings.py文件中的数据库设置创建任何必要的数据库表,数据库的迁移还会跟踪应用的变化(我们稍后会讲到)。你会看到对每次迁移有一条信息。如果你有兴趣,可以运行你的数据库的命令行客户端并输入dt (PostgreSQL), SHOWTABLES; (MySQL)或.schema (SQLite)来显示Django创建的表。

    对于极简主义者来说

    就像我们上面说到的,以上包含的默认应用用于常见的场景,但并不是每个人都需要它们。 如果你不需要它们中的任何一个或所有应用,可以在运行migrate之前从INSTALLED_APPS中自由地注释或删除相应的行。migrate 命令将只为INSTALLED_APPS中的应用运行数据库的迁移。

     

     

     
  • 相关阅读:
    Manage Spring Boot Logs with Elasticsearch, Logstash and Kibana
    接口服务中的日志
    初识Mybatis框架,实现增删改查等操作
    spring mvc 提交数组等复杂类型
    jquery实现漂亮文件上传表单样式
    spring mvc 接收页面表单List
    无刷新上传图片 可以实时预览 选择图片后即自动上传,没有上传按钮
    cvc-complex-type.2.3: Element 'beans' cannot have character [children] 博客分类: Spring
    Maven+SpringMVC+MyBatis 上传图片
    spring mvc 图片上传,图片压缩、跨域解决、 按天生成目录 ,删除,限制为图片代码等相关配置
  • 原文地址:https://www.cnblogs.com/singeldiego/p/5460694.html
Copyright © 2020-2023  润新知