Django博客开发教程-Python零基础开发网站

Django简介:

Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。

Django 是用 Python 开发的一个免费开源的
Web 框架,几乎囊括了 Web 应用的方方面面,可以用于快速搭建高性能、优雅的网站,Django 提供了许多网站后台开发经常用到的模块,使开发者能够专注于业务部分。

Django 提供了通用 Web 开发模式的高度抽象,为频繁进行的编程作业提供了快速解决方法,并为“如何解决问题”提供了清晰明了的约定。Django 通过 DRY(Don't
Repeat Yourself,不要重复自己)的理念来鼓励快速开发。

Django 框架支持主流的操作系统平台包括 Windows,Linux,MacOS 等。Python
Django 框架是一款全能型框架,它内置了许多模块,极大的方便了 Web 开发者,也正是由于它的“全面性”,会在学习 Django 的时候感到不知该如何处下手。

本篇教程将教零基础的小伙伴如何利用Django快速开发网站。

Django博客开发教程:项目准备

  1. 安装好Python环境。
  2. 安装好virtualenv虚拟环境。
  3. 安装好Pycharm开发工具。
  4. 安装好Mysql并配置好环境。

Django博客开发教程:创建项目

我们对需求和数据库都进行分析了之后,我们就开始来创建我们的项目。教程是在windows10操作系统下,用的Python3.8和django2.1.1,开发工具为pycharm。

打开我们的Pycharm,新建一个项目。

image.png

说明:

1为项目保存路径,myblog为项目名。

2为选择使用的虚拟环境软件,这里选virtualenv。

3为虚拟环境保存目录,我把它保存在项目里,虚拟环境默认名为env,我系统里有多个项目为了区分出来命名为myblogenv

4为使用的模板语言,我们默认用django模板语言。

5为创建项目的时候建立一个模板文件目录,用来存放模板文件。用CMD命令创建项目的话,模板目录需要自己手动创建。

6为创建一个名为blog的APP应用。同样的用CMD命令创建的话,需要手动通过python manage.py startapp blog命令来进行创建。

点击创建之后,Pycharm自动帮我们完成Django软件下载安装和Django的项目创建。

注意: 如果对需要指定Django版本的话,不能直接使用这个方法,这个方法会直接下载最新版本的Django。指定版本的话,请使用CMD通过命令如:pip install django==2.0.1安装。

安装成功之后项目目录结构如下图所示:

image.png

第一个黑色的myblog 为项目文件夹目录。

blog为APP应用目录,也是我们上面设置第6项才创建的。myblog为项目配置目录,myblogvenv为Pycharm创建的虚拟环境目录,与项目无关,不用理会。

目录里的文件含义如下:

blog                #APP应用名和目录

│  admin.py        #对应应用后台管理配置文件。

│  apps.py         #对应应用的配置文件。

│  models.py       #数据模块,数据库设计就在此文件中设计。后面重点讲解

│  tests.py        #自动化测试模块,可在里面编写测试脚本自动化测试

│  views.py        #视图文件,用来执行响应代码的。你在浏览器所见所得都是它处理的。

│  __init__.py

│

├─migrations        #数据迁移、移植文目录,记录数据库操作记录,内容自动生成。

│  │  __init__.py

myblog               #项目配置目录

│  __init__.py       #初始化文件,一般情况下不用做任何修改。

│  settings.py        #项目配置文件,具体如何配置后面有介绍。

│  url.py             #项目URL设置文件,可理解为路由,可以控制你访问去处。

│  wsgi.py          #为Python服务器网关接口,是Python与WEB服务器之间的接口。

myblogvenv            #Pycharm创建的虚拟环境目录,和项目无关,不需要管它。

templates           #项目模板文件目录,用来存放模板文件

manage.py     #命令行工具,通过可以与项目与行交互。在终端输入python manege.py help,可以查看功能。

Django博客开发教程:基础配置

创建项目之后,我们需要对项目进行最基础的配置。这些配置是我们做项目的时候必须要配置的,所以我们先提前配置好。

我们打开myblog目录下的settings.py文件。

一、设置域名访问权限

myblog/settings.py
ALLOWED_HOSTS = []      #修改前
ALLOWED_HOSTS = ['*']   #修改后,表示任何域名都能访问。如果指定域名的话,在''里放入指定的域名即可

二、设置TEMPLATES里的'DIRS',添加模板目录templates的路径,后面我们做网站模板的时候用得着。

myblog/settings.py
#修改前
'DIRS': []
#修改后
'DIRS': [os.path.join(BASE_DIR, 'templates')]
注:使用pycharm创建的话会自动添加

三、找到DATABASES设置网站数据库类型。这里我们使用默认的sqlite3。后期上线部署的话,也可以进行数据库与数据库之间的数据转换。

四、在INSTALLED_APPS添加APP应用名称。

myblog/settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    ....
    'blog.apps.BlogConfig',#注册APP应用
]
#使用pycharm创建的话,这里自动添加了,如果是终端命令创建的话,需要手动添加应用名称如'blog',

五、修改项目语言和时区

myblog/settings.py
#修改前为英文
LANGUAGE_CODE = 'en-us'
#修改后
LANGUAGE_CODE = 'zh-hans' #语言修改为中文
#时区,修改前
TIME_ZONE = 'UTC'
#修改后
TIME_ZONE = 'Asia/Shanghai' #

六、在项目根目录里创建static和media,两个目录。static用来存放模板CSS、JS、图片等静态资源,media用来存放上传的文件,后面我们在讲解数据库创建的时候有说明。

settings里找到STATIC_URL,然后在后面一行加上如下代码。

myblog/settings.py

#设置静态文件目录和名称
STATIC_URL = '/static/'

#加入下面代码

#这个是设置静态文件夹目录的路径
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
)
#设置文件上传路径,图片上传、文件上传都会存放在此目录里
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

Django博客开发教程:欢迎页面

基础配置做好了之后,我们就可以先迁移数据到数据库,然后启动我们的项目,感受Django的魅力。

在Pycharm左下角底部的Terminal,会弹出Terminal终端窗口,Pycharm自动会帮我们启动虚拟环境。如下图所示:

image.png

这里面有两个地方需要留意:

1、留意项目路径,看这个路径是不是我们项目的路径。

2、留意路径前有没有我们创建的虚拟环境名,之前我们创建的虚拟环境名是myblogvenv,如果显示正确,则说明我们启动正确。如果没有虚拟环境名,则进入项目目录下的myblogvenvScripts目录里,在终端输入activate启动虚拟环境,然后再切换到项目根目录里。如果前面的虚拟环境名称不对,则在终端输入deactivate退出虚拟环境,然后按上面的方法启动虚拟环境。

上面都OK了,我们就在终端里依次输入如下命令进行数据库迁移:

python manage.py makemigrations
python manage.py migrate

迁移数据之后,网站目录里自动会创建一个数据库文件db.sqlite3,里面存放着我们的数据。

之后输入下面命令创建管理帐号和密码:

python manage.py createsuperuser

在这里依次输入账户名,邮箱,密码。这里我已经创建好账号了。

最后,我们输入下面有命令,启动我们的Django项目:

python manage.py runserver #默认使用8000端口
python manage.py runserver 8080 #指定启动端口
python manage.py runserver 127.0.0.1:9000 #指定IP和端口

提示启动成功,然后我们在浏览器里输入:http://127.0.0.1:8000/

就可以查看到Django默认的欢迎页面!

image.png

如有疑问,请在下方留言。

最后修改:2021 年 07 月 08 日
如果觉得我的文章对你有用,请随意赞赏