Django_Pycharm自学记录1-django项目创建和对接数据库

1.项目创建

1.1 创建项目

点击file,打开下拉菜单,选择new projec,在弹出的对话框中选择对应的文件夹和虚拟环境

1.2 创建项目app

点击Tools选择 run mange.py Task

在命令窗口输入startapp Mynewsite

1.3 创建static、media、log等必要文件夹

static用于放css、js文件 log用于存放日志文件 ** media用于存放用户上传的图片和媒体文件**

2.对接数据库

1.1 系统自动创建sqlite数据库

**打开setting.py文件,找到DATABASES=,这个地方主要是配置和哪个数据对接 **

点击run -runDjangoOne,可以看到自动生成了一个db.sqlite3文件 在浏览器打开127.0.0.1:8000可以看到django运行起来了

1.2 系统对接mysql数据库并创建

1.2.1 先在mysql数据库中创建一个djangotwo的数据库,我是使用navicat直接创建的

1.2.2打开setting.py文件,找到DATABASES=,修改里面文件为:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'djangotwo',
        'USER':'root',
        'PASSWORD':'123456',
        'HOST':'127.0.0.1',
        'PORT':'3306',

    }
}

执行tool -run mange.py Task,会出现

File "C:\Users\leo\Envs\newfour\lib\site-packages\django\db\utils.py", line 211, in __getitem__
    backend = load_backend(db['ENGINE'])
  File "C:\Users\leo\Envs\newfour\lib\site-packages\django\db\utils.py", line 115, in load_backend
    return import_module('%s.base' % backend_name)
  File "C:\Users\leo\Envs\newfour\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "C:\Users\leo\Envs\newfour\lib\site-packages\django\db\backends\mysql\base.py", line 28, in <module>
    raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named 'MySQLdb'

提示没有MySQLdb 模块,主要是缺少驱动,因为我Python3.5,所以对接mysql只能用pymysql,直接在用pip安装

(newfour) C:\Users\leo\Downloads>PIP install pymysql
Collecting pymysql
  Using cached PyMySQL-0.7.9-py3-none-any.whl
Installing collected packages: pymysql
Successfully installed pymysql-0.7.9

需要在项目的__init__.py文件中添加

import pymysql
pymysql.install_as_MySQLdb()

然后重新执行tool -run mange.py Task,输入

makemigrations

然后输入:

migrate

执行以上两个命令同步数据库,然后使用navicat查看下数据库,会生成对应的django自有的数据库表

    原文作者:zfz
    原文地址: https://zhuanlan.zhihu.com/p/25257263
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞