Web开发之Django框架

一.Django简介

Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C
Django是一个基于MVC构造python的Web开发框架。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。
它们各自的职责如下:

1.模型(Model),即数据存取层
处理与数据相关的所有事务: 如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。

2.模板(Template),即表现层
处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。

3.视图(View),即业务逻辑层
存取模型及调取恰当模板的相关逻辑。模型与模板的桥梁。

从上可以看出Django 视图不处理用户输入,而仅仅决定要展现哪些数据给用户,而Django 模板 仅仅决定如何展现Django视图指定的数据。或者说, Django将MVC中的视图进一步分解为 Django视图 和 Django模板两个部分,分别决定 “展现哪些数据” 和 “如何展现”,使得Django的模板可以根据需要随时替换,而不仅仅限制于内置的模板。
至于MVC控制器部分,由Django框架的URLconf来实现。URLconf机制是使用正则表达式匹配URL,然后调用合适的Python函数。URLconf对于URL的规则没有任何限制,你完全可以设计成任意的URL风格,不管是传统的,RESTful的,或者是另类的。框架把控制层给封装了,无非与数据交互这层都是数据库表的读,写,删除,更新的操作。在写程序的时候,只要调用相应的方法就行了,感觉很方便。程序员把控制层东西交给Django自动完成了。 只需要编写非常少的代码完成很多的事情。所以,它比MVC框架考虑的问题要深一步,因为我们程序员大都在写控制层的程序。现在这个工作交给了框架,仅需写很少的调用代码,大大提高了工作效率。

二.开发环境的搭建

由于我们在接触较多知识后,我们也要开始规范自己的写代码方式,即每次新建工程时,我们都要新建一个环境来写工程文件,如果用旧环境可能会发生冲突,带来一些不必要的麻烦。这里我以用anaconda为例。

1.创建虚拟环境

conda create -n Django python==3.6

新建虚拟环境的位置:
在这里插入图片描述

2.激活虚拟环境

source activate Django

3.在虚拟环境内安装django

pip install django==1.10   ####django==1.10,指定了django的版本

4.新建工程

1).图形方式

在这里插入图片描述
我们可以用下列代码查看Django的版本

方式1:

  `python -m django --version`

方式2:进入虚拟环境,打开python,用下图方式查询
在这里插入图片描述
用tree+工程名查看工程树状图,下图是我用pycharm 专业版新建的Django工程的树状图。我们会发现其中有templates目录,且在settings文件中,对于‘TEMPLATES’中的‘DIRS’做了明确的指示,即该到什么地方寻找html文件。这便是一个完整的工程。
在这里插入图片描述
在这里插入图片描述
其中,各部分的作用如下:
在这里插入图片描述

2).命令方式

我们用以下命令新建工程。
 django-admin startproject Django1

在这里插入图片描述
新建完成后,我们会在内层目录的settings文件中发现‘TEMPLATES’中的‘DIRS’为空,所以我们一定在‘DIRS’中加上到何处去找文件,也就是上面用pycharm专业版建立工程时,DIRS中的内容。
在这里插入图片描述

注意:用pycharm 社区版以图形方式建立工程要执行和用命令建立一样的操作。

二.如何创建一个超级用户

1.首先进行 数据库相关设置
1)生成migrate文件,用于完成model.py与数据库的映射

python manage.py makemigrations

2)通过生成的migrate文件,进行数据库操作。所以与上一条命令一起使用

python manage.py migrate

3)查看对应sql语句(此时没有对数据库做任何操作,仅仅生成文件而已,记录下当前对数据库的操作)

python manage.py sqlmigrate APPname  ### (migrations文件夹中文件前缀) 

2.进行 后台操作

创建一个后台管理员

python manage.py createsuperuser:创建管理员

3.开启本地服务器

python manage.py runserver
python manage.py runserver   9000  ###我们指定一个端口为9000的ip

这时我们会发现出现了一个地址(默认为:http://127.0.0.1:8000/) ,访问其若出现下列图片情况即可。

在这里插入图片描述
这时我们新建一个app即可。

python manager.py startapp [name]

在这里插入图片描述
4.后台管理员登陆(必须要在服务开启后才能访问)
我们在项目中的urls.py文件中发现有这样一段代码,意思除了必要的url外,只有后面再加上admin时才能访问后台。
在这里插入图片描述
进行刚才注册的管理员登陆即可。
在这里插入图片描述

在登陆过程中我们发现这些是英文显示,所以我们就要进行语言的改变,这就牵扯到settings中的一些设置了
语言:默认为英文,所以需要将原来的代码注释起来,重新改为汉字。时区为相同的改法。
在这里插入图片描述

Django的manage.py中另外一些常用方法

python manage.py shell   ####启动交互界面

python manage.py changepassword    ###修改管理员密码

python manage.py dbshell     ###启动数据库的命令行工具

python manage.py    startproject  [name]    ###新建一个工程

注意:当我们忘记某些用法的拼写时,我们可以使用下列代码进行查看。

python manage.py 

关于数据库等的具体操作我在下篇博客以工程的形式给出

猜你喜欢

转载自blog.csdn.net/forever_wen/article/details/83994153