0. 安装Django

pip install django

1. 新建项目

注:我的Pycharm为社区版,创建项目时,File->New Project… 显示为:

​ 注意勾选内容。

如果你的Pycharm版本为其他版本,可以直接创建Django项目,下面的内容是在社区版的基础上完成的。

1.1 创建Django项目

Pycharm社区版创建完项目,只需要执行以下步骤即可创建Django项目。

  • 打开Terminal输入以下命令

    django-admin startproject projectname

  • 此时的目录结构:

1.2 新建项目下的App

  • 到Django项目下,输入以下命令

python manage.py startapp appname

  • 此时的目录结构:

1.3 创建templates文件夹

此目录下即用来存放我们的html文件。

此目录一般是与app的主目录是平级的。当然也可以建立在app的目录下,主要取决于你的模板,一般是全局使用呢,还是专门服务于某个app。

  • 新建templates文件

  • 配置templates文件路径

打开项目目录下的setting.py文件,找到TEMPLATES,如图示:

1.4 启动项目

  • 输入以下命令:

python manage.py runserver

点击上图红色圈中的内容,浏览器弹出如下页面表示创建成功。

另一种启动方式,通过配置Pycharm Edit Configuration

输入runserver 8000 ,8000为项目访问端口;

2. Django项目连接数据库

2.1 创建数据库

本次项目的测试数据库为mysql,使用可视化软件Navicat。

新建一个数据库,取名为testDjango。

2.2 给项目导入mysql驱动

在File->Setting->Project:testDjango->Project Interpreter下按照图示添加PyMySQL驱动;

2.3 配置数据库

  • 找到工程目录下的settings.py文件,并打开,找到DTABASE,按照图示进行修改

即在setting.py中添加上以下代码:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库驱动
'NAME': 'testDjango', # 数据库名
'USER': 'root', # 用户名
'PASSWORD': '', # 密码,本机mysql数据库没有设置密码,故此处为空,此处应修改为自己的数据库密码
'HOST': '127.0.0.1', # 主机ip
'PORT': '3306' # 数据库端口号
}
}

2.4 项目加载数据库

  • 找到工程目录下的__init__.py文件,并打开,添加以下代码:
import pymysql

pymysql.install_as_MySQLdb()

  • 运行项目,此时运行项目会出现错误,按照以下步骤纠错即可完成数据库的连接;

    此处错误原因是Django项目版本与mysql驱动版本不匹配的问题,按照图示注释掉指定代码即可:

  • 继续运行,会出现以下错误,继续按照图示修改即可:
query = query.encode(errors='replace')

  • 此时再运行项目,出现图示内容即代表Django项目连接数据库成功!

2.5 创建数据库表模型

  • 找到app目录下的models.py,并作图示内容修改:

from django.db import models

# Create your models here.  User对应数据库中的表
class User(models.Model):
# 如果没有的话,默认会生成一个名称为id的列,如果要显示的自定义一个自增列
id = models.AutoField(primary_key=True)
# 类里面的字段代表数据表中的字段(username),数据类型则由CharField(相当于varchar)
username = models.CharField(max_length=100)
# 数据库表中的密码字段
password = models.CharField(max_length=100)

model.py文件中User类对应数据库中的数据表,属性对应表中的字段名称;

一般表的命名规则为:app名称_表名称,例如本示例中的myapp_user

  • 向数据库中同步创建表并同步数据:

    • 创建同步文件,在Terminal中输入以下命令:

      python manage.py makemigrations

    输入命令可能出现下图示提示,无法同步,

这时需要在项目目录下的setting.py文件中的INSTALLED_APPS中追加以下内容:

    'myapp.apps.MyappConfig',

之后重新输入命令:python manage.py makemigrations 出现图示内容表示同步成功

  • 创建表结构并同步到数据库,输入以下命令:

    python manage.py migrate

  • 打开数据库,看到数据库中新增了许多表,其中的User类生成的表(myapp_user)是你需要操作的表,其他都是框架自动生成的表。

  • 创建表结构并同步到数据库,输入以下命令:

    python manage.py migrate

  • 打开数据库,看到数据库中新增了许多表,其中的User类生成的表(myapp_user)是你需要操作的表,其他都是框架自动生成的表。

PyCharm创建Django项目并连接mysql数据库的更多相关文章

  1. Pycharm创建Django项目并访问Django

    Pycharm创建Django项目并访问Django 一.Django插件 如果没有Django插件,需要先安装Django插件. 1,首先点击Default Settings,打开设置页面: 2,打 ...

  2. 第三百零三节,Django框架介绍——用pycharm创建Django项目

    Django框架介绍 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内 ...

  3. 一 Django框架介绍——用pycharm创建Django项目

    Django框架介绍 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内 ...

  4. 使用Pycharm创建Django项目无法创建app.

    Python3.7使用Django1.11.7创建Django项目报以下错误时: 在使用Pycharm创建Django项目报以下错误时: Traceback (most recent call las ...

  5. django新建项目,连接mysql数据库

    安装django,进入Django目录,运行 python setup.py install 在workplace目录下新建一个名为site01的项目: cd workplacedjango-admi ...

  6. Django学习:连接Mysql数据库

    开发环境: Windows 10 Python 3.7.4 Django 2.2.6 Mysql 8.0.17 承接上一节:https://www.cnblogs.com/daydayupup/p/1 ...

  7. Python——Pycharm创建Django项目

    一.Django的官网 地址:https://www.djangoproject.com/download/ 注:LTS表示一直在维护的版本,建议是带LTS的版本 二.Pycharm下载Django ...

  8. 学以致用三十-----pycharm创建django项目忘记添加app

    记忆力有时候真的不是很好.因此有些操作步骤还是记录下来好了. pycharm版本-----2018.2.4 创建django项目 file-----newproject----- 创建的时候,appl ...

  9. 使用pycharm创建Django项目,'django-admin' 不是内部或外部命令

    报错信息如下: (笔者的电脑为win10,python3.7,django 2.2.6 ) 第一种情况的解决方案:没有配置环境变量,Django安装之后,需要配置环境变量,命令django-admin ...

随机推荐

  1. 腾讯WeTest兼容服务再次升级,支持小程序兼容

    WeTest 导读 小程序作为微信内能被便捷地获取和传播的工具,吸引着越来越多的开发者加入其中.无论是小游戏.零售.出行服务还是生活餐饮等,各行各业的小程序出现在用户的手机上,在给用户带来便利的同时, ...

  2. 使用jq操作脚本生成元素的事件

    其实这个很简单,是jq里面的一个delegate操作,具体如下: $("div").delegate("button","click",fu ...

  3. Html头部meta标签

      meta元素有4个属性:name.http-equiv.content.charset.meta标签通过name属性来表述页面文档的元信息,通过http-equiv属性设置http请求指令,通过c ...

  4. CTF必备技能丨Linux Pwn入门教程——PIE与bypass思路

    Linux Pwn入门教程系列分享如约而至,本套课程是作者依据i春秋Pwn入门课程中的技术分类,并结合近几年赛事中出现的题目和文章整理出一份相对完整的Linux Pwn教程. 教程仅针对i386/am ...

  5. for循环,数字、字符串和列表内置方法

    目录 控制流程之for循环 基本语法 for+break for+continue for+else for循环打印lodaing 数字类型内置方法 整型 int 浮点型 float 字符串内置方法 ...

  6. SpringBoot的学习二:整合Redis,JPA,Mybatis

    Redis介绍: 是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API 特性: Redis 与其他 key - value 缓 ...

  7. XGBoost和LightGBM的参数以及调参

    一.XGBoost参数解释 XGBoost的参数一共分为三类: 通用参数:宏观函数控制. Booster参数:控制每一步的booster(tree/regression).booster参数一般可以调 ...

  8. CRT&EXCRT学习笔记

    非扩展 用于求解线性同余方程组 ,其中模数两两互质 . 先来看一看两个显然的定理: 1.若 x \(\equiv\) 0 (mod p) 且 y \(\equiv\) 0 (mod p) ,则有 x+ ...

  9. JS三座大山再学习 ---- 作用域和闭包

    本文已发布在西瓜君的个人博客,原文传送门 作用域 JS中有两种作用域:全局作用域|局部作用域 栗子1 console.log(name); //undefined var name = '波妞'; v ...

  10. 剖析linux内核中的宏-----------offsetof

    offsetof用于计算TYPE结构体中MEMBER成员的偏移位置. #ifndef offsetof#define offsetof(TYPE, MEMBER) ((size_t) &((T ...