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

相关文章

Linux下python与C++使用dlib实现人脸检测

Linux下python与C++使用dlib实现人脸检测

python 与 C++ dlib人脸检测结果对比,供大家参考,具体内容如下 说明: 由于项目需求发现Linux下c++使用dlib进行人脸检测和python使用dlib检测,得到的结果...

解决Python 命令行执行脚本时,提示导入的包找不到的问题

解决Python 命令行执行脚本时,提示导入的包找不到的问题

在Pydev能正常执行的脚本,在导出后在命令行执行,通常会报自己写的包导入时找不到。 一:报错原因 在PyDev中,test.py 中导入TestUserCase里面的py文件时,会写...

python实现各进制转换的总结大全

前言 玩ctf经常遇到进制转换的问题,就正好做一个进制转换总结,分享出来供大家参考学习,下面来一起看看详细的介绍: 字符串与十六进制转换 例如百度ctf 12月的第二场第一个misc...

分享8个非常流行的 Python 可视化工具包

分享8个非常流行的 Python 可视化工具包

喜欢用 Python 做项目的小伙伴不免会遇到这种情况:做图表时,用哪种好看又实用的可视化工具包呢?之前文章里出现过漂亮的图表时,也总有读者在后台留言问该图表时用什么工具做的。下面,作者...

用Python操作字符串之rindex()方法的使用

 rindex()方法返回所在的子str被找到的最后一个索引,可选择限制搜索的字符串string[beg:end] 如果没有这样的索引存在,抛出一个异常。 语法 以下是rind...