创建django项目
安装Django
首先需要安装django,进入虚拟环境中运行命令:
pip install django==3.2.13 # 指定3.2的版本
Django目前长期稳定版是3.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 . # 路径参数是. 代表当前目录
运行项目
在项目根目录下运行如下命令:
python manage.py runserver ip:端口
命令不带ip和端口参数,服务将默认运行在127.0.0.1:8000
。
运行成功后在浏览器访问http://127.0.0.1:8000/
将会看到欢迎页面。
注意:这只是一个Django 自带的用于开发的简易服务器,它为开发而设计,不要应用在生产环境中。
修改时区和语言
上一步中的欢迎页面看起来是英文的,django框架做了国际化,我们只需要在settings.py
中修改如下配置
LANGUAGE_CODE = 'zh-hans' # 语言配置为中文
TIME_ZONE = 'Asia/Shanghai' # 时区配置为亚洲上海
即可配置好中文和正确的时区。再次访问http://127.0.0.1:8000/
,欢迎页面如下:
创建django应用
什么是应用
在Django中有项目和应用的概念。
每一个应用都是一个 Python 包,并且遵循着相同的约定和结构。
Django 自带一个工具,可以帮你生成应用的基础目录结构,这样你就能专心写代码,而不是创建目录了。
项目和应用有什么区别?应用是一个专门做某件事的网络应用程序——比如博客系统,或者公共记录的数据库,或者小型的投票程序。项目则是一个网站使用的配置和应用的集合。项目可以包含很多个应用。应用可以被很多个项目使用。
也可以简单理解为一个项目即是一个网站,一个应用就是这个网站的某一个功能板块。
例如:豆瓣网是一个项目,其中读书,电影,音乐...等是一个个的应用。
创建应用
在项目根目录下运行如下命令:
python manage.py startapp crm
其中startapp
是子命令,crm
是应用名。
这将会在项目根目录下创建一个 crm
目录,它的目录结构大致如下:
crm/
__init__.py
admin.py # django后台站点配置入口
apps.py # 应用信息配置入口
migrations/ # 数据库迁移历史信息目录
__init__.py
models.py # 数据模型模块
tests.py # 单元测试
views.py # 应用视图模块
这个目录结构包括了crm
应用的全部内容。
第一个视图
打开crm/views.py
,编写如下代码:
from django.http import HttpResponse
def index(request):
return HttpResponse("我是首页面")
这是 Django 中最简单的视图。如果想要看见效果,需要将一个url映射到它。
添加路由
在crm
目录下创建子路由模块urls.py
,编写如下代码:
from django.urls import path
from . import views
urlpatterns = [
path('index/', views.index)
]
再到主路由模块study_django/urls.py
中添加子路由如下:
from django.urls import path, include
urlpatterns = [
...
path('crm/', include('crm.urls')) # 添加一条include
]
做完上面的操作之后,重新运行服务,就可以在浏览器中通过urlhttp://127.0.0.1:8000/crm/index/
访问在上每一步创建的视图。如果一切正常你会看到如下页面:
欢迎来到testingpai.com!
注册 关于