当前位置: 移动技术网 > IT编程>脚本编程>Python > Django之初学习

Django之初学习

2020年07月23日  | 移动技术网IT编程  | 我要评论

Django简介

由于工作原因接触第一个Web框架,故在这里简记!!!!!
Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。
使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务 Django 本身基于 MVC 模型,即 Model(模型)+ View(视图)+ Controller(控制器)设计模式,MVC 模式使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。
MVC 优势:低耦合、开发快捷、部署方便、可重用性高、维护成本低。Python 加 Django 是快速开发、设计、部署网站的最佳组合。
特点:强大的数据库功能、自带强大的后台功能、优雅的网址。

MVC和MTV模型

mvc模型即包括model层、view层和controller层。model层即是用来实现与数据库相关的操作(ORM)和实现程序应有的功能。view层,即是图形交互层,负责和用户的交互页面。controller层即负责转发请求,对请求进行处理。
而Django则是采用MTV的架构即model层、Template层和view层。M表示model层:负责编写程序应有的功能,负责业务对象与数据库的映射(ORM)。T 表示模板 (Template):负责如何把页面(html)展示给用户。V 表示视图(View):负责业务逻辑,并在适当时候调用 Model和 Template。

创建第一个Django项目

安装Django

安装很简单,网上教程很多,
主要过程:(1)下载安装包(2)放在python目录下,解压安装、加入环境变量,测试安装是否成功。

创建第一个项目

django-admin.py startproject 项目名称
如果创建不成功可能的原因
(1)系统变量添加失败
检查系统变量是否添加成功
(2)无法打开.py文件()
使用django-admin startproject 项目名称 命令检测
项目创建后会产生一个目录在windows的命令行下可以使用tree命令查看,结果如下:
$ cd HelloWorld/
$ tree
.
|-- HelloWorld
| |-- init.py
| |-- asgi.py
| |-- settings.py
| |-- urls.py
| `-- wsgi.py
– manage.py
其中HelloWorld文件夹是整个项目的容器,也是主要用于配置整个项目来用的。
其中__init__.py为初始化文件,开始时是一个空文件,目的是告诉python,这是一个python包,不过后期在开发过陈中,也会需要向里面添加一些声明。
asgi.py 是一个ASG I兼容的Web服务器入口,以便运行项目。
settings.py 是整个项目的配置文件,创建的APP、logging信息、redis配置等等都要在这里进行配置。
urls.py 用于配置项目的各个接口,驱动整个项目
wsgi.py 是一个WSGI兼容的Web服务器入口

运行

到这里就可以起个服务,在浏览器里看一下了,起服务命令

python manage.py runserver 0.0.0.0:8000

0.0.0.0 让其它电脑可连接到开发服务器,8000 为端口号。如果不说明,那么端口号默认为 8000。

视图和url

如果创建的项目比较简单而不需要另外创建APP的话可以直接在刚才创建的HelloWorld项目中直接添加view.py文件,用于写项目的业务逻辑。进入到Helloworld项目目录下的HelloWorld目录下,新建view.py文件,并在view.py文件里添加以下代码.

from Django.http import Httpresponse

def hello(request):
    return HttpResponse("Hello world ! ")

Django.http 中的Httpresponse向浏览器返回响应,其常用的属性有content:返回的内容、status_code:返回的HTTP响应状态码。
默认是200,也可以自行设置、content_type:
返回的数据的MIME类型,默认为text/html。浏览器会根据这个属性,来显示数据。如果是text/html,那么就会解析这个字符串,如果text/plain,那么就会显示一个纯文本。常用的Content-Type如下:返回的数据的MIME类型,默认为text/html。浏览器会根据这个属性,来显示数据。如果是text/html,那么就会解析这个字符串,如果text/plain,那么就会显示一个纯文本。此外同样属于HttpResponseBase子类的响应还有render、redirect等子类
接着打开urls.py文件,并添加如下代码

from django.conf.urls import url
 
from . import views
 
urlpatterns = [
    url(r'^$', views.hello),
]

这便将视图和urls绑定在了一起,既可以通过浏览器访问view中的hello方法了。

模板

模板一般指网页文件,统一放在名为templates 文件夹下,然后在settings.py中添加配置信息,以告诉django其的存在,其配置形式如下:

...TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR+"/templates",],       # 修改位置
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

BASE_DIR即是本项目的路径

Model

Django 对各种数据库提供了很好的支持,包括:PostgreSQL、MySQL、SQLite、Oracle。

Django 为这些数据库提供了统一的调用API。 我们可以根据自己业务需求选择不同的数据库。
Model同样需要先在settings.py中配置,才可以使用,以MySQL为例,配置方式如下:

DATABASES = { 
    'default': 
    { 
        'ENGINE': 'django.db.backends.mysql',    # 数据库引擎
        'NAME': 'runoob', # 数据库名称
        'HOST': '127.0.0.1', # 数据库地址,本机 ip 地址 127.0.0.1 
        'PORT': 3306, # 端口 
        'USER': 'root',  # 数据库用户名
        'PASSWORD': '123456', # 数据库密码
    }  
}

本文地址:https://blog.csdn.net/weixin_43803269/article/details/107488511

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网