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

本文实例讲述了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程序设计有所帮助。

(0)

相关推荐

  • Linux下将Python的Django项目部署到Apache服务器

    这几天花了点时间,将把django开发好的web项目部署到Apache上,参考了官方的一些文档和互联网上的文档,还是花了比较多的时间,这里把配置的过程说一下. 方便有需要的朋友,可以参考,少走弯路! 1. django项目部署环境说明 操作系统 : Red Hat Enterprise Linux Server release 5.3 (Tikanga) x86_64 apache版本 : httpd-2.2.3-22.el5 mod_wsgi版本 : mod_wsgi-3.2-1.el5 fe

  • 分析Python的Django框架的运行方式及处理流程

    之前在网上看过一些介绍Django处理请求的流程和Django源码结构的文章,觉得了解一下这些内容对开发Django项目还是很有帮助的.所以,我按照自己的逻辑总结了一下Django项目的运行方式和对Request的基本处理流程. 一.Django的运行方式 运行Django项目的方法很多,这里主要介绍一下常用的方法.一种是在开发和调试中经常用到runserver方法,使用Django自己的web server:另外一种就是使用fastcgi,uWSGIt等协议运行Django项目,这里以uWSG

  • Django-Model数据库操作(增删改查、连表结构)详解

    一.数据库操作 1.创建model表 基本结构 from django.db import models class userinfo(models.Model): #如果没有models.AutoField,默认会创建一个id的自增列 name = models.CharField(max_length=30) email = models.EmailField() memo = models.TextField() 更多字段: 1.models.AutoField 自增列= int(11)

  • django模板结构优化的方法

    模版结构优化 引入模版 有时候一些代码是在许多模版中都用到的.如果我们每次都重复的去拷贝代码那肯定不符合项目的规范.一般我们可以把这些重复性的代码抽取出来,就类似于Python中的函数一样,以后想要使用这些代码的时候,就通过 include 包含进来.这个标签就是 include .示例代码如下: # header.html <p>我是header</p> # footer.html <p>我是footer</p> # main.html {% includ

  • Python的Django框架中settings文件的部署建议

    django在一个项目的目录结构划分方面缺乏必要的规范,因此不同人的项目组织形式也千奇百怪,而且也很难说谁的做法就比较好.我根据自己的项目组织习惯,发布了一个项目dj-scaffold. 前些天在reddit上为我的项目dj-scaffold打了个"广告"(见:http://redd.it/kw5d4).不想评价甚糟,甚至差点被打成负分.其中更也人将这个项目说的一文不值.面对负面声音虽然会有些不爽,但其中的建设性意见还是需要听取的,至于那些纯属个人偏好部分就自动过滤了. 在谈及sett

  • django框架模型层功能、组成与用法分析

    本文实例讲述了django框架模型层功能.组成与用法.分享给大家供大家参考,具体如下: Django models是Django框架自定义的一套独特的ORM技术. 使用该层开发的首要任务就是定义模型类以及属性.每个模型都可以被映射为数据库中的一个数据表,而类属性被映射为为数据字段. from django.db import models class ModelName(models.Model): field1 = models.xxfield(..) field2 = models.xxfi

  • Python的Django框架中设置日期和字段可选的方法

    设置字段可选 在摆弄了一会之后,你或许会发现管理工具有个限制:编辑表单需要你填写每一个字段,然而在有些情况下,你想要某些字段是可选的. 举个例子,我们想要Author模块中的email字段成为可选,即允许不填. 在现实世界中,你可能没有为每个作者登记邮箱地址. 为了指定email字段为可选,你只要编辑Book模块(回想第五章,它在mysite/books/models.py文件里),在email字段上加上blank=True.代码如下: class Author(models.Model): f

  • 使用PyCharm配合部署Python的Django框架的配置纪实

    安装软件 安装 Python 2.7.PyCharm.pip(Python包管理工具).Django ( pip install Django) 部署 PyCharm 新建Django工程 完成后,其目录如下: 子目录MyDjangoProject下表示工程的全局配置,分别为setttings.py.urls.py和wsgi.py,其中setttings.py包括了系统的数据库配置.应用配置和其他配置,urls.py则 表示web工程Url映射的配置. 子目录student则是在该工程下创建的a

  • Django工程的分层结构详解

    前言 传统上我们都知道在Django中的MTV模式,具体内容含义我们再来回顾一下: M:是Model的简称,它的目标就是通过定义模型来处理和数据库进行交互,有了这一层或者这种类型的对象,我们就可以通过对象来操作数据. V:是View的简称,它的工作很少,就是接受用户请求换句话说就是通过HTTP请求接受用户的输入:另外把输入信息发送给处理程并获取结果:最后把结果发送给用户,当然最后这一步还可以使用模板来修饰数据. T:是Template的简称,这里主要是通过标记语言来定义页面,另外还可以嵌入模板语

  • Django框架视图函数设计示例

    本文实例讲述了Django框架视图函数.分享给大家供大家参考,具体如下: 视图函数即为处理HTTP请求的python函数.一般情况下,视图函数的功能是通过模型层对象处理数据,然后通过下面三种方式返回HTTP Response: 直接构造HTTP BODY 用数据渲染HTML模板文件 如果有逻辑错误就返回HTTP错误或者其他状态! 1.直接构造HTML页面 对于简单的页面,可以直接在视图函数汇总构造返回给客户端的字符串,通过HttpResponse函数封装后返回: #views.py from d

  • 利用Django模版生成树状结构实例代码

    前言 我们经常会有这样的需求,比如评论功能,每个评论都有可能会有自己的子评论,如果在界面只展示成一列的话非常不美观,也不能体现出他们的层级关系.那么我们今天就来看看如何使用Django的模版来生成树状结构,以本站为例,效果如下图所示: 那么我们要怎么实现呢?首先先看看评论实体的定义,如下所示: class Comment(models.Model): body = models.TextField('正文', max_length=300) author = models.ForeignKey(

  • Django框架视图层URL映射与反向解析实例分析

    本文实例讲述了Django框架视图层URL映射与反向解析.分享给大家供大家参考,具体如下: Django视图层主要工作就是衔接HTTP请求.python程序.HTML模板. URL分发(URL dispatcher)映射配置可以被看作Django项目的入口配置(项目下的urls.py以及应用的下的urls.py,include将两者联系起来在项目下的urls.py),通过URLdispatcher可以指定用户的每一个访问的后台的python处理函数是什么. 1.普通url映射 每一个Django

随机推荐