一、创建django项目
1.1 安装django
进入虚拟环境,执行命令
pip install django==3.2.11 # 指定3.2的版本
1.2 创建项目
安装django后,会自动安装django-admin程序,用来创建和管理django项目
要创建一个django项目,执行以下命令
django-admin startproject <project_name> [project_path]
其中,startproject
是创建子命令,project_name
是项目名称(必填),project_path
是项目路径,如果不填写,默认是当前目录
例如:
django-admin startproject study_django
这会在当前目录创建名为study_django
的目录,目录中的内容如下:
study_django/ # 项目根目录,目录名可以随意更换
manage.py # 管理django项目命令行工具
study_django/ # 项目目录,python包,
__init__.py
settings.py # 项目配置文件
urls.py # 项目根路由文件
asgi.py # 兼容asgi协议的web服务器入口文件
wsgi.py # 兼容wsgi协议的web服务器入口文件
但是这样项目根目录文件名和项目目录名相同,有时候我们不需要创建最外层的目录,只把项目生成在当前目录下可以运行如下命令:
django-admin startproject study_project . # 路径参数是. 代表当前目录
1.3 运行项目
在项目根目录下运行命令
python manage.py runserver ip:端口
命令不带ip和端口
服务将默认运行在127.0.0.1:8000。
运行成功后在浏览器访问http://127.0.0.1:8000/
将会看到欢迎页面。
注意
这只是一个Django 自带的用于开发的简易服务器,它为开发而设计,不要应用在生产环境中。
1.4 修改时区、语言
上一步中的欢迎页面看起来是英文的,django框架做了国际化,我们只需要在settings.py
中修改如下配置
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
二、创建django应用
2.1 什么是应用?
在Django中有项目和应用的概念。每一个应用都是一个 Python 包,并且遵循着相同的约定和结构。Django 自带一个工具,可以帮你生成应用的基础目录结构,这样你就能专心写代码,而不是创建目录了。
项目和应用有什么区别?
应用是一个专门做某件事的网络应用程序——比如博客系统,或者公共记录的数据库,或者小型的投票程序。项目
则是一个网站使用的配置
和应用
的集合。项目可以包含很多个应用。应用可以被很多个项目使用。
2.2 创建应用
在项目根目录下运行如下命令:
python manage.py startapp crm
这将会创建一个 crm
目录,它的目录结构大致如下:
crm/
__init__.py
admin.py # django后台站点配置入口
apps.py # 应用信息配置入口
migrations/ # 数据库迁移历史信息目录
__init__.py
models.py # 数据模型模块
tests.py # 单元测试
views.py # 应用视图模块
这个目录结构包括了crm应用的全部内容。
2.3 第一个视图
打开crm/views.py
编写如下代码:
from django.http import HttpResponse
def index(request):
return HttpResponse("我是首页面")
这是 Django 中最简单的视图。如果想要看见效果,需要将一个url映射到它
2.4 添加路由
在crm
目录下创建子路由模块urls.py
,编写如下代码:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index)
]
再到主路由模块study_django/urls.py
中添加子路由如下:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
...
path('crm/', include('crm.urls')) # 添加一条include
]
做完上面的操作之后,重新运行服务,就可以通过urlhttp://127.0.0.1:8000/crm/访问在上面一步创建的视图。