Django项目创建的图文教程

2023-03-23 17:03:19 创建 项目 图文

1.Django简介

Django是基于python的重量级开源WEB框架

Django采用MVT的软件设计模式,即模型(Model),视图(View)和模板(Template)

M 表示模型(Model):编写程序应有的功能,负责业务对象与数据库的映射(ORM)

T 表示模板 (Template):负责如何把页面(html)展示给用户

V 表示视图(View):负责业务逻辑,并在适当时候调用 Model和 Template

2.搭建Django

使用pycharm创建虚拟环境

在项目开发过程中会下载很多第三方库,有时不同项目对同一个库的依赖版本不同,如果所有项目都使用同一个Python环境就会起冲突不便于管理。因此在实际开发中我们会为每一个项目都单独创建一个python的虚拟环境(虚拟环境会很好地帮助处理各个包之间的隔离问题)

最常用的python虚拟环境管理工具是Virtualenv

我们可以直接使用PyCharm工具创建虚拟环境,只需要在创建项目的时候勾选创建虚拟环境即可

按照上述配置创建好项目后会在当前项目根目录下创建虚拟环境venv

下载Django

点击Pycharm左上角中的【文件】|【设置】,弹出设置选项窗口

点击"Python解释器"中的 + 按钮 

安装完成后,大家可以看到django已经是指定的安装版本了

在终端上创建Django项目,在虚拟环境中使用django-admin命令创建一个项目

django-admin startproject 项目名称

效果如下所示:

在生成的目录结构中,venv目录是虚拟环境,study_django目录是项目名称

3.Django项目目录及文件说明

在当前目录创建名为study_django的目录,目录中的内容如下:

study_django/                               # 项目根目录,目录名可以随意更换
    study_django/                           # 项目目录,python包
        __init__.py
        asgi.py                             # 兼容asgi协议的web服务器入口文件
        settings.py                         # 项目配置文件
        urls.py                             # 项目根路由文件
        wsgi.py                             # 兼容wsgi协议的web服务器入口文件
    manage.py                               # 管理django项目命令行工具
文件说明
__init__.py一个空文件,告诉Python这个目录应该被认为是一个Python包
asgi.py作为项目运行在ASGI兼容的Web服务器上的入口
settings.pyDjango总的配置文件,可以配置APP、数据库中间件、模板等诸多选项
urls.pyDjango默认的路由配置文件,可以在其中include其他路径下的urls.py
wsgi.pyDjango实现的WSGI接口的文件,用来处理web请求
manage.pyDjango程序执行的入口,一个可以用各种方式管理Django项目的命令行工具

4.运行项目

创建完项目以后,进入到项目根目录下运行如下命令

python manage.py runserver ip:端口

注意Tips:命令不带ip和端口参数,服务将默认运行在127.0.0.1:8000

运行命令及运行结果如下所示: 

运行成功后在浏览器访问Http://127.0.0.1:8000/将会看到Django欢迎页面

修改时区和语言 

上述的欢迎页面是英文的,Django框架做了国际化,我们只需要在study_django/settings中修改如下配置,即可配置好中文和正确的时区

# 语言设置为中午
LANGUAGE_CODE = 'zh-hans'
# 时区配置为亚洲上海
TIME_ZONE = 'Asia/Shanghai'

再次访问http://127.0.0.1:8000/,欢迎页面如下: 

5.创建Django应用 

在Django项目中,推荐使用应用来完成不同模块的任务

一个项目可以包含多个应用,而一个应用也可以在多个项目中使用

在Django中,每一个应用都是一个python包,并且遵循着相同的约定和结构

Django 自带一个工具,可以帮你生成应用的基础目录结构,这样你就能专心写代码,而不是创建目录了

项目和应用有什么区别?

简单理解为一个项目即是一个网站,一个应用就是这个网站的某一个功能板块

如果服务已经启动,先按下<Ctrl + c>组合键关闭服务,然后在项目根目录下运行如下命令

python manage.py startapp 应用名

效果如下所示:

在生成的目录结构中,study_django目录下又多了一个article目录

文件说明
__init__.py一个空文件,告诉Python这个目录应该被认为是一个python包
migrations执行数据库迁移生成的脚本
admin.py配置Django管理后台的文件
apps.py单独配置添加的每个app的文件
models.py创建数据库数据模型对象的文件
tests.py用来编写测试脚本的文件
views.py用来编写视图控制器的文件

创建完article应用以后,它不会立即生效,需要在项目配置文件blog/settings.py中激活应用

代码如下所示:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 新增代码,激活article应用
    'article.apps.ArticleConfig',
]

通常INSTALLED_APPS默认包括以下Django自带的应用,这些应用被默认启动是为了常规项目提供方便

django.contrib.admin:管理员站点

django.contrib.auth:认证授权系统

django.contrib.contenttypes:内容类型框架

django.contrib.sessions:会话框架

django.contrib.messages:消息框架

django.contrib.staticfiles:管理静态文件的框架

相关文章