Django搭建博客记录 - Part 1
日期: 2024-03-06 | 作者: admin | 浏览: 400

入门Python后,发现没啥动力学习其他语言了。。。

Python is powerful... and fast;
plays well with others;
runs everywhere;
is friendly & easy to learn;
is Open.

但是难免的,总想要折腾点东西出来,于是想到个人博客这一套,开始记录Django学习之旅。

1. 环境搭建

Python安装就不赘述了,直接官网根据系统环境及所需版本下载安装即可:https://www.python.org/downloads/

最好了解下Python的虚拟环境,它允许我们在独立且隔离的空间中为每个项目安装特定版本的Python包,从而避免不同项目之间的依赖冲突。
Python 3.3及以上版本自带 venv 模块:

# 用Python自带的venv创建虚拟环境
python -m venv myblog_env

# 进入虚拟环境(Windows)
myblog_env\Scripts>activate

# 进入虚拟环境(Linux)
source myblog_env\bin\activate

Django安装,进入相应虚拟环境后,执行如下命令,简单快捷:

# (myblog_env) 进入虚拟环境后,会有虚拟环境前缀
pip install django
2. 创建项目

使用django-admin 的 startproject 命令,创建项目:

django-admin startproject myblog

项目文件结构如下:

myblog/
    manage.py
    myblog/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
文件大致左右如下:
manage.py: 一个让你用各种方式管理 Django 项目的命令行工具。
myblog/__init__.py:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。
myblog/settings.py:Django 项目的配置文件。
myblog/urls.py:Django 项目的 URL 声明,就像你网站的“目录”。
myblog/asgi.py:作为你的项目的运行在 ASGI 兼容的 Web 服务器上的入口。
myblog/wsgi.py:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。
3. 启动项目

Django自带一个用纯 Python 编写的轻量级网络服务器。启动命令如下:

# 默认为8000端口
python manage.py runserver

# 可以在后面增加指定IP及端口(0.0.0.0 指不限IP访问)
python manage.py runserver 0.0.0.0:8080

# 启动成功后,提示如下:
Mar 6, 2024 - 15:45:10
Django version 5.0.6, using settings 'myblog.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

自带的服务器它会在需要的情况下会自动重载,所以你不需要为了让修改的代码生效而频繁的重新启动服务器。然而,有些动作,比如添加新文件等,将不会触发自动重新加载,这时你得自己手动重启服务器。

!!!注意:千万不要 将这个服务器用于和生产环境相关的任何地方。这个服务器只是为了开发而设计的!!!
4. 创建应用

项目和应用的区别:

应用是一个专门做某件事的网络应用程序——比如博客系统,或者公共记录的数据库,或者小型的投票程序。
项目则是一个网站使用的配置和应用的集合。
项目可以包含很多个应用。
应用可以被很多个项目使用。

在与manage同级目录情况下,创建应用:

python manage.py startapp blog

完善结构如下:

# 项目
myblog/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
    # 应用
    blog/
        __init__.py
        admin.py
        apps.py
        migrations/
            __init__.py
        models.py
        tests.py
        views.py
5. 修改配置文件

修改 myblog/setting.py

# myblog/setting.py


# 允许所有IP访问
ALLOWED_HOSTS = ['*']

# 应用配置
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 加载blog应用
    'blog.apps.BlogConfig',
]

# 修改默认语言为中文
LANGUAGE_CODE = 'zh-hans'

# 修改时区为北京时间
TIME_ZONE = 'Asia/Shanghai'
6. 开启Django之旅

访问http://127.0.0.1:8000,就可以看到Django的默认首页了,接下去就是真正的Django搭建之旅了。