如何创建一个Django项目

Django

软件框架

软件框架是由其中的各个模块组成,每个模块负责特定的功能,模块与模块之间相互协作来完成软件开发。

MVC简介

MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的可扩展性和可移植性,实现向后兼容。(在Java、PHP、Python中都有MVC框架)

Web MVC各部分的功能

M全拼为Model,主要封装对数据库层的访问,对数据库中的数据进行增、删、改、查。V全拼为View,用于封装结果,生成页面展示的html内容。C全拼为Controller,用于接受结果,处理业务逻辑,与Model和View交互,返回结果。

MVT简介与介绍

M全拼为Model,与MVC的M功能相同,负责和数据交互,进行数据处理。V全拼为View,与MVC的M功能相同,接受请求,进行业务处理,返回应答。T全拼为Template,与MVC中的V功能相同,负责封装构造要返回的html。

虚拟环境

创建
sudo pip install virtualenv  # 安装虚拟环境
安装虚拟环境扩展包
sudo pip install virtualenvwrapper
创建虚拟环境
mkvirtualenv 虚拟环境名称
例:
mkvirtualenv Py_django
退出
deactivate
查看与使用
workon 两次Tab键
使用虚拟环境
workon 虚拟环境名称
例:
workon Py_django
删除
rmvirtualenv 虚拟环境名称
例:
先退出:deactivate
再删除:rmvirtualenv Py_django

创建图书管理项目

创建项目
django-admin startproject 项目名称
例:
django-admin startproject test1
项目默认目录说明

进入test1目录,查看目录树形结构

cd test1
tree

目录结构如下图:

如何创建一个Django项目

如何创建一个Django项目

  • manage.py是项目运行的入口,指定配置文件路径;

  • 与项目同名的目录,此处为test1,包含项目的配置文件;

  • __init__.py是一个空文件,作用是这个目录test1可以被当做包使用;

  • settings.py是整个项目的整体配置文件;

  • urls.py是项目的URL配置文件;

  • wsgi.py是项目与WSGI兼容的Web服务器入口,详细内容会在part6的部署中讲到。

创建应用

使用一个应用开发一个业务模块,此处创建应用名为booktest,完成图书--英雄的信息维护。

创建应用的命令如下:

python manage.py startapp booktest

如何创建一个Django项目

如何创建一个Django项目

  • admin.py文件跟网站后台管理相关;

  • __init__.py是一个空文件,表示当前目录booktest可以当做一个python包使用;

  • migrations文件夹之后详细介绍;

  • models.py文件跟数据库操作相关;

  • tests.py文件用于开发测试试用例,在实际开发中会有专门的测试人员,这个事情不需要我们做;

  • views.py文件接受浏览器请求,进行处理,返回页面相关。

安装应用

应用创建

应用创建成功后,主要安装才可以使用,也就是简历应用和项目之间的关联,在test1/settings.py中INSTALLED_APPS下添加应用名称就可以完成安装。

初始项目的INSYALLED_APPS如下图:

如何创建一个Django项目

如何创建一个Django项目

接下来在元组中添加一个新的项,当前示例为booktest

'booktest',

如何创建一个Django项目

如何创建一个Django项目

开发服务器

在开发阶段,为了能够快速预览到开发的效果,django提供了一个纯python编写的轻量级web服务器,仅在开发阶段使用。

运行服务器命令如下:

python manage.py runserver ip:端口
例:
python manage.py runserver

可以不写IP和端口,默认IP是127.0.0.1,默认端口为8000

服务器成功启动后如下图:

如何创建一个Django项目

如何创建一个Django项目

紧接着在浏览器中输入网址“127.0.0.1:8000”,或者按着ctrl键点击上图中标示出来的地址,可以查看当前站点开发效果。

如果增加、修改、删除文件,服务器会自动重启;按ctrl+c停止服务器。

如何创建一个Django项目

一个Django项目已经创建完成

关注公众号:

如何创建一个Django项目

上一篇:CF 39E. What Has Dirichlet Got to Do with That?(记忆化搜索+博弈论)


下一篇:fixSidebar简介与修正log