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

yipeiwu_com6年前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程序设计有所帮助。

相关文章

Python装饰器简单用法实例小结

本文总结分析了Python装饰器简单用法。分享给大家供大家参考,具体如下: 装饰器在python中扮演着很重要的作用,例如插入日志等,装饰器可以为添加额外的功能同时又不影响业务函数的功能...

Python tkinter label 更新方法

Python tkinter label 更新方法

网上看的两个例子关于tkinter界面更新的,简单易懂,分享一下。 例子_1: 代码_1: from tkinter import Tk, Checkbutton, Label f...

python实现连续变量最优分箱详解--CART算法

关于变量分箱主要分为两大类:有监督型和无监督型 对应的分箱方法: A. 无监督:(1) 等宽 (2) 等频 (3) 聚类 B. 有监督:(1) 卡方分箱法(ChiMerge) (2) I...

最近Python有点火? 给你7个学习它的理由!

最近Python有点火? 给你7个学习它的理由!

Python 是一门更注重可读性和效率的语言,尤其是相较于 Java,PHP 以及 C++ 这样的语言,它的这两个优势让其在开发者中大受欢迎。 诚然,它有点老了,但仍是80后啊 —— 至...

在PyCharm导航区中打开多个Project的关闭方法

在PyCharm导航区中打开多个Project的关闭方法

打开一个Project在导航区带出多个Project将会影响PyCharm的运行速度,解决这个问题的方式只打开一个即可。有时候打开一个Project将会带出多个Project, 解决方法...