入门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搭建之旅了。