Django part2:mysql的配置及博客系统的起步

上一节我们已经完成了Python Django基础框架的安装和简单运行,这一节主要让我们探讨下Django的常用配置以及创建Model等基础知识。

首先,打开settings.py文件,发现里面这些配置也太多了,有点难以下手,不过我们也不会依次去解释这些配置项,我们会以走一个项目的方式去学习这些配置项。

1.TIME_ZONE
配置项:时区
配置值:’Asia/Shanghai’
说明:既然在中国,那就设置成这样吧。

2.DEBUG
配置项:调试模式
配置值:True
说明:在开发环境设置为True,在真正的生产环境就千万不要设置成True了。

3.DATABASES
上一节中,我们把这里注释掉了,现在我们来搞搞这里,我这里使用的数据库是Mysql,好,新建一个数据库并命名为python
配置项:数据库配置信息Django官方Database配置
配置值:
注意下面要填写你的数据库用户名、密码、host和端口号
[cc lang=”python” theme=”twitlight” width=”100%” height=”700″ lines=”40″ noborder=”true”]
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: ‘python’,
‘USER’: ‘root’,
‘PASSWORD’: ‘123456’,
‘HOST’: ‘127.0.0.1’,
‘PORT’: ‘3306’,
}
}
[/cc]
打开终端,在我们上一节建立的firstpysite目录下,执行命令,看看我们配置成功了没有
[cc lang=”bash” theme=”twitlight” width=”100%” height=”700″ lines=”40″ noborder=”true”]
python manage.py runserver 0.0.0.0:8000
[/cc]
其实,我猜你那肯定报错了,看看是不是下面这个错误?
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

貌似Python没有找到这个MySQLdb这个模块,所以让我们使用pip安装这个模块(如果你还没有安装pip,可能需要移步安装下)
6BE56A35-5FCC-4FB2-935B-5F16BA5A3285

好,走到这证明你已经安装成功了,现在让我们再次启动服务器看看还有没有问题
F2D92E3E-74CE-4C33-88B9-F089273F5CB9

好像除了一些红色的部分外,没有什么大问题,打开浏览器在地址栏输入192.168.33.10:8000(注意:你的可能是127.0.0.1:8000)
不出意外的话你应该会和我一样看到It Works!
现在让我们看看刚刚那块儿红色的部分是咋回事儿,阅读下红色的部分,大体的意思是“你还没有应用数据库迁移,在应用之前还不能正确的使用,运行python manage.py migrate来应用它们。

什么是数据库迁移?(如果实在不懂可以略过)
答:如果之前接触过PHP框架laravel的话就会了解了,如果不明白,其实这个东西存在的原因是让你的项目在从一个系统迁移到另一个系统的时候特别有用,一个项目包含了很多部分,比如项目代码和数据库等,然而项目迁移肯定要涉及到数据库的迁移,传统的做法是导出一个.sql文件,然后在新的系统中执行这个sql文件即可,然而Django加入这个数据库迁移将使得项目代码与数据库文件结合起来,让一个项目的迁移变得不再那么松散。

屏幕快照 2015-12-26 下午4.20.48

看到没有红色的执行结果真是爽快!现在我们看看数据库python中有没有什么变化?
屏幕快照 2015-12-26 下午4.22.37

那你你可能会问了:它怎么知道我要生成哪些表的?
答:现在还是打开settings.py,看到如下部分,这一部分就是Django为我们提供的网站所需要的模块,一个网站可能会有登陆模块,留言板模块等等等等,而Django为我们提供了比如后台admin模块,登录验证auth模块等等,那我们不如直接拿来用吧~
[cc lang=”python” theme=”twitlight” width=”100%” height=”700″ lines=”40″ noborder=”true”]
# Application definition
INSTALLED_APPS = (
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’,
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
)
[/cc]
还是打开浏览器,再次验证下结果吧~
3B1CA852-F77D-4561-9A4C-0B6916608A31
别激动,还是老样子,但请注意下红框中的部分“到目前为止,你还没有做什么工作,下一步,运行命令python manage.py startapp [app_label] 建立你的第一个app吧”。我靠,你看到现在是不是挺来气,都做了这么多工作了,他说我啥也没干!行吧,那也没办法,还得继续走下去是不是?

我做的是一个Web项目,那跟app有什么关系?
答:首先,请明确app并不是我们21的这个手机应用。根据Django官方的说法:一个Web项目包含许多配置和许多不同功能的app,所以这里的app请理解为一个Web项目的组成部分,比如一个登录模块,一个博客模块等等。而按照官方的说法,这个app又叫model,这一点和奇怪,为了方便理解:app就是model

那么,让我们开始建立一个博客系统吧!Do It!
屏幕快照 2015-12-26 下午4.41.05
看下我们的项目目录吧,发现新出现了一个blog文件夹
0DA8AEE9-42B5-4660-B636-A269A38D8087

好,这一节就到这,下一节我们我们继续blog。

Django part2:mysql的配置及博客系统的起步
Tags:     

发表评论

电子邮件地址不会被公开。 必填项已用*标注