Django2.0搭建简易个人博客(二)

>>最全面的Java面试大纲及答案解析(建议收藏)  

创建项目

首先,一定别忘了切换到工作目录MyBlog并激活我们创建的虚拟环境:
$ source blogenv/bin/activate
接着在处于活动状态的blogenv虚拟环境中执行一下项目来创建Django项目:
$ django-admin.py startproject MyBlog .
最后的那个点表示本目录,由于我们需要先建立虚拟环境,而在创建虚拟环境的时候已经创建了一个MyBlog目录,所以这里我们直接把项目放在本目录,否则Django会新建一个MyBlog目录并在那里面创建项目哦。
可以使用ls命令看看此时的MyBlog目录下有什么改变。
应当可以看到当前目录下创建了一个与项目同名的目录,同时还有一个名为manage.py的文件。在内部的MyBlog下又有四个文件,分别为__init__.pysettings.pyurls.pywsgi.py

创建数据库

Django默认是使用SQLite这个轻量型(只有一个文件)的数据库的,当然我们也可以在settings.py这个文件当中选择其他数据库。这里我们直接使用默认的。
$ python manage.py migrate
这时我们会发现多出了一个db.sqlite3文件。
现在可以看看Django是否为我们正确创建了项目:
$ python manage.py runserver
如果成功,命令行会显示:

Performing system checks…

System check identified no issues (0 silenced).

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

March 31, 2018 - 15:50:53
Django version 2.0, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

在浏览器输入:http://127.0.0.1:8000/ 你会看到Django展示的一个有小火箭图标的成功界面。

创建应用程序

使用如下命令:
$ python manage.py startapp blog
这时如果使用ls命令,就会发现当前目录下又多了一个名为blog的目录。可以进入这个目录,看看这次Django又为我们创建了什么文件。

定义模型

在我们刚才创建的app目录blog中,有一个名为models.py的文件,我们可以在其中创建自己的模型,从面向对象的角度讲,这里的模型就是
在这个MyBlog/blog/models.py中编写如下代码:

 1from django.db import models
2
3# Create your models here.
4class Article(models.Model):
5    title = models.CharField(max_length=150)               # 博客标题
6    category = models.CharField(max_length=50, blank=True) # 博客标签
7    body = models.TextField()                              # 博客正文
8    timestamp = models.DateTimeField(auto_now_add=True)    # 创建时间
9
10    def __str__(self):
11        """返回模型的字符串表示"""
12        return self.title

我们创建了一个名为Article的类,每个Django模型都得继承models.Model。它的四个属性定义了一篇文章的标题,标签,正文与创建时间。


CharField用于表示一些字符数据,max_lenth定义它的长度,150和50应该能满足所有标题和标签的需求了。
TextField用于存储大文本。
DateTimeField存储时间信息,auto_now_add参数使Django自动把这个属性设定为当前时间。
详细信息请去官网https://www.djangoproject.com/查看官方文档。


激活模型

打开项目目录中的settings.py,具体位置为MyBlog/MyBlog/settings.py
你会看到一个名为INSTALLED_APPS列表

1INSTALLED_APPS = [
2    'django.contrib.admin',
3    'django.contrib.auth',
4    'django.contrib.contenttypes',
5    'django.contrib.sessions',
6    'django.contrib.messages',
7    'django.contrib.staticfiles',
8]

这个列表告诉Django哪些app安装在项目中,把我们自己创建的app的blog添加进去:

1INSTALLED_APPS = [
2    'django.contrib.admin',
3    'django.contrib.auth',
4    'django.contrib.contenttypes',
5    'django.contrib.sessions',
6    'django.contrib.messages',
7    'django.contrib.staticfiles',
8    'blog'
9]

也就是在最后添加上blog这个元素啦。
接下来我们需要设置数据库,
$ python manage.py makemigrations
这个命令让Django确定该如何修改数据库,使其能够存储与我们定义的模型相关联的数据。我们把修改数据库叫做迁移数据库。我们之前定义了模型Article,现在来应用迁移。
$ python manage.py migrate

migrate同步models与数据库的数据。当你需要增加新app和定义新模型时,别忘了上述步骤哦。

第二篇先写到这了,我把文章写到gitbook上了,点击阅读原文可以查看。

下图是我的公众号二维码,感兴趣的扫一下关注一下呗:

Django2.0搭建简易个人博客(二)
公众号二维码


觉得我的文章有帮助的,可以打赏一个哟:

Django2.0搭建简易个人博客(二)
赞赏码


原文始发于微信公众号(公子政的宅日常):Django2.0搭建简易个人博客(二)