Django框架组成结构、基本概念与文件功能分析

yipeiwu_com5年前Python基础

本文实例讲述了Django框架组成结构、基本概念与文件功能。分享给大家供大家参考,具体如下:

django遵循MVC架构:

管理工具(management):一套内置的创建站点、迁移数据、维护静态文件的命令工具。

模型(Model):提供数据访问接口和模块,包括数据字段、元数据、数据关系等定义及操作。

视图(View):django视图封装了HTTP Request和Response的一系列操作和数据流,主要功能包括URL映射机制、绑定模板等

模板(template):自身的页面渲染模板语言,用若干内置的tags和filters定义页面的生成方式

表单(Form):通过内置的数据类型和控件生成HTML文件

管理站(Admin):通过声明需要管理的Model,快速生成后台数据管理网站

通过django-admin创建django项目:

django-admin startproject djangosite

在Scripts目录下创建djangosite项目,项目包括djangosite文件夹以及manage.py模块,django文件夹下有四个模块:

__init__.py   setting.py  urls.py   wsgi.py

其中manage.py是django用于管理本项目的命令行工具,之后进行站点运行数据库自动生成、静态文件收集等都要通过该文件完成;

__init__.py:
告知这是python package

setting.py:
django的项目配置文件,默认定义了django组件、django项目名等。还可配置数据库参数、导入其他python包

urls.py:
维护项目的路由映射,即定义客户端访问的url由哪一个python模块解释并提供反馈。默认情况之定义"/admin"即管理员站点的解释器

wsgi.py:
定义WSGI(Web服务器网管协议,配合中间件)的接口信息,用于与其他web服务器集成。一般不需改动!

在django项目下,建立django应用:

cd djangosite
python manage.py startapp app(应用名称)

app应用建立后如下目录及文件结构:

app/
   __init__.py
   admin.py
   apps.py
   models.py
   tests.py
   views.py
   migrations /
              __init__.py

__init__.py:
app是一个python 包

admin.py:
管理站点模型的声明文件,默认为空

apps.py:
应用信息定义文件。生成了类AppConfig,该类用于定义应用名等Meta数据。

migrations包:
用于迁移功能

models.py:
添加模型层数据类的文件

tests.py:
测试代码文件

views.py:
定义URL响应函数

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

相关文章

用uWSGI和Nginx部署Flask项目的方法示例

用uWSGI和Nginx部署Flask项目的方法示例

概况 在开发过程中,我们一般直接用Python命令直接运行Flask程序。这样的运行只适合我们开发,方便我们调试。一旦程序部署到线上,这样运行的Flask程序性能会比较低。可以采用uW...

Python 脚本的三种执行方式小结

Python 脚本的三种执行方式小结

1.交互模式下执行 Python,这种模式下,无需创建脚本文件,直接在 Python解释器的交互模式下编写对应的 Python 语句即可。 1)打开交互模式的方式: Windows下:...

Python函数装饰器实现方法详解

本文实例讲述了Python函数装饰器实现方法。分享给大家供大家参考,具体如下: 编写函数装饰器 这里主要介绍编写函数装饰器的相关内容。 跟踪调用 如下代码定义并应用一个函数装饰器,来统计...

如何安装多版本python python2和python3共存以及pip共存

如何安装多版本python python2和python3共存以及pip共存

Python的版本是挺折腾人的,本着简单实用的原则我介绍一下我是如何安装多版本Python的。 环境:windows10(64位) Python版本:2.7.13和3.5.2 1、安装P...

django ManyToManyField多对多关系的实例详解

django ManyToManyField多对多关系的实例详解

Django 的 ORM 有多种关系:一对一,多对一,多对多 各自定义的方式为 : 一对一: OneToOneField 多对一: ForeignKey 多对多: ManyToManyF...