上一篇我们搭建完了django的开发环境,现在就可以来新建个django项目来检验下了.
打开Pycharm(专业版才有各种模板,后面会介绍没有专业版pycharm的创建方法),依次点击File->New Project,打开新建项目的页面如图:
左侧选择Django,右侧Location选择项目要保存的位置,Interpreter选择原先创建好的虚拟环境.
如果Interpteter里找不到自己的虚拟环境的话可以点击右侧的齿轮,选择”Add Local”,然后去anaconda的安装目录下的envs文件夹里找,里面有创建了的所有虚拟环境,找到装有django的那个,点击进去选择python.exe即可.
然后直接点Create创建项目.可以看到创建好后的项目结构如下:
- mysite/
- templates/
- mysite/
- settings.py
- urls.py
- wsgi.py
- __init__.py
- manage.py
现在来运行下服务,点击右上角的绿色三角Run,可以看到控制台的输出如下:
D:\PyCharm\bin\runnerw.exe D:\Anaconda3\envs\django-learning\python.exe H:/Django/TestSite/manage.py runserver 8000 Performing system checks…
System check identified no issues (0 silenced).
You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run ‘python manage.py migrate’ to apply them.
August 12, 2017 - 22:09:23
Django version 1.11.4, using settings ‘TestSite.settings’
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
现在打开浏览器,在地址栏上输入’http://127.0.0.1:8000’或者’http://localhost:8000’,可以看到该项目成功运行:
接下来配置一下mysql数据库,在使用mysql数据库之前需要启动mysql的服务,打开cmd(可能需要管理员权限),输入以下命令:net start mysql
(这里的mysql是你原先填的mysql的服务名),成功的话可以看到’MYSQL 服务已经启动成功’的字样.(关闭服务的命令为net stop mysql
)
然后打开navicat,点击连接,创建一个mysql的连接,填写:
- 连接名: 随意
- 主机名: localhost
- 端口: 3306
- 用户名: root
- 密码: 原先设置的密码
然后点击连接测试看成不成功(成功的话可以看到’连接成功’的提示),接着点’确定’就行了.
连接到数据库后,可以在右边看到该连接,右键它选择’新建数据库’:
- 数据库名: django_learning(任写)
- 字符集: utf8 – UTF-8 Unicode
- 排序规则: utf8_general_ci
字符集选择utf8可以很好的支持中文,排序规则常用的选择general_ci,要记住这个里面是不区分大小写的,例如’Dog’与’dog’等同,所以不要用这种字段作为表的id,不然请选择utf8_bin
创建完数据库后,就要将该数据库与django项目进行绑定了.打开项目里mysite文件夹下的settings.py文件,找到以下字段:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
这里默认的是使用python3自带的sqlite数据库,一个十分轻量级的数据库,如果不是很大的数据,对并发存储要求不高的话用这个也是可以的.现在我们将它改为使用我们创建好的mysql数据库.修改见以下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django_learning',
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
- ENGINE: 选择mysql数据库
- NAME: 你创建的数据库名
- USER与PASSWORD按自己设定的填写(一般都是填root用户)
- HOST与PORT都是用的默认的
设置完后我们来检验一下能否正常使用,由于我们在上一篇已经安装了mysqlclient,所以正常来说python可以调用mysql.在该项目目录下打开cmd,输入以下命令: python manage.py shell
接着输入以下代码:
from django.db import connection
cursor = connection.cursor()
如果没有报错那说明数据库使用正常.
最后初始化一下默认的数据库表.依次点击Pycharm菜单栏上的Tools->Run manage.py Task…在打开的窗口里输入 makemigrations
生成数据库变更记录,然后是 migrate
生成对应的数据表,可以用navicat等工具打开数据库查看创建好的表.
最后提一下如果没有专业版Pycharm的话如何新建项目:
django提供了很方便的创建项目的功能,首先打开cmd,cd到想要存放项目的位置,然后输入以下命令: django-admin startproject mysite
(‘mysite’可以换为任意的项目名)
可以看到创建后的项目结构和用Pycharm创建的一致:
- mysite/
- manage.py
- mysite/
- __init__.py
- settings.py
- urls.py
- wsgi.py
然后是不使用pycharm的话如何运行项目呢,很简单:
python manage.py runserver
后面也可以带上自定义的参数,例如让其他电脑也可以访问网页(即使用0.0.0.0地址),或者改为自定义端口号,
python manage.py 0.0.0.0 9588
即可在0.0.0.0:9588的地址开启服务.