资讯专栏INFORMATION COLUMN

Django-01、初识Django和搭建Django helloworld

aristark / 937人阅读

摘要:并于年月在许可证下发布。控制器是将模型和视图隔离,并成为二者之间的联系纽带。该层处理与表现相关的决定如何在页面或其他类型文档中进行显示。会话用户登录与权限检查,快速开发用户会话功能。

1.介绍Django 1.1 Django的来源
Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
1.2 Django 的特点

完全免费并开源源代码

快速高效开发

使用MTV模式(以MVC模式为原型)

强大的可扩展性.

社区丰富

第三方框架丰富

1.3 Django 的架构
MVC是众所周知的模式,即:将应用程序分解成三个组成部分:model(模型),view(视图),和 controller(控制 器)。其中:

M——管理应用程序的状态(通常存储到数据库中),并约束改变状态的行为(或者叫做“业务规则”)。

C——接受外部用户的操作,根据操作访问模型获取数据,并调用“视图”显示这些数据。控制器是将“模型”和“视图”隔离,并成为二者之间的联系纽带。在django对应view。

V——负责把数据格式化后呈现给用户。

Django也是一个MVC框架。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以 Django 里更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式:

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

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

V 代表视图(View),即业务逻辑层。 该层包含存取模型及调取恰当模板的相关逻辑。 你可以把它看作模型与模板之间的桥梁。

1.4 Django的设计
对象关系映射 (ORM,object-relational mapping):以Python类形式定义你的数据模型,ORM将模型与关系数据库连接起来,你将得到一个非常容易使用的数据库API,同时你也可以在Django中使用原始的SQL语句。
URL 分派:使用正则表达式匹配URL,你可以设计任意的URL,没有框架的特定限定。像你喜欢的一样灵活。
模版系统:使用Django强大而可扩展的模板语言,可以分隔设计、内容和Python代码。并且具有可继承性。
表单处理:你可以方便的生成各种表单模型,实现表单的有效性检验。可以方便的从你定义的模型实例生成相应的表单。
Cache系统:可以挂在内存缓冲或其它的框架实现超级缓冲 -- 实现你所需要的粒度。
会话(session):用户登录与权限检查,快速开发用户会话功能。
国际化:内置国际化系统,方便开发出多种语言的网站。
自动化的管理界面:不需要你花大量的工作来创建人员管理和更新内容。Django自带一个ADMIN site,类似于内容管理系统
工作机制
2 搭建Django helloworld 2.1 安装Django

首先我们应该确保服务器上安装了python3.7以及当前使用的是python3.7的环境
然后在命令行输入以下命令安装Django2.1.8
pip install Django==2.1.8

2.2 创建一个项目

输入以下命令在当前文件夹下创建helloworld项目
$ django-admin startproject helloworld

修改settings.py中的配置
$ cd helloworld
$ cd helloworld
vim settings.py

#ALLOWED_HOSTS位置的修改如下
ALLOWED_HOSTS = [
    "你服务器的ip地址"
]

切换到上一级目录并运行项目
cd ..
$ python manage.py runserver 0.0.0.0:8001

使用runserver命令,开始一个工程
0.0.0.0 或者 0 , 代表任何IP都允许访问
8001: 代表我们对外的端口,默认端口为80
我们可以通过你的服务器IP:端口访问这个网站
当我们看下面的图,就代表整个工程已经启动成功

2.3 继续完成helloworld

输入Ctrl+c终止程序运行
切换到manage.py,输入以下命令
$ python manage.py startapp hello
然后打开 hello/views.py,把下面这些 Python 代码输入进去:

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello world.")

接着在 hello 目录里新建一个 urls.py 文件,把下面这些 Python 代码输入进去:

from django.urls import path

from . import views

urlpatterns = [
    path("", views.index, name="index"),
]

然后在helloworld/urls.py 文件的 urlpatterns 列表里插入一个 include(), 如下:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path("polls/", include("hello.urls")),
    path("admin/", admin.site.urls),
]

最后切换到manage.py所在文件夹下,输入以下命令
$ python manage.py runserver 0.0.0.0:8001
在你电脑的浏览器地址栏输入http://你的服务器的ip地址:8001/hello/
即可看到hellworld

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/44657.html

相关文章

  • Django-01初识Django搭建Django helloworld

    摘要:并于年月在许可证下发布。控制器是将模型和视图隔离,并成为二者之间的联系纽带。该层处理与表现相关的决定如何在页面或其他类型文档中进行显示。会话用户登录与权限检查,快速开发用户会话功能。 1.介绍Django 1.1 Django的来源 Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集...

    lewif 评论0 收藏0
  • Django-03.静态文件与模板详解

    摘要:通过使用来给子模板开放接口。必须是模板中的第一个出现的标签。如果出现重复代码,就应该考虑使用模板。尽可能多的定义,方便子模板实现更细的需求。 1、原始渲染 在django_lesson文件夹下新建一个django工程lesson2(新建工程的详情请见Django-01、初识Django和搭建Django helloworld)views.py # -*- coding: utf-8 -...

    ls0609 评论0 收藏0
  • Django-03.静态文件与模板详解

    摘要:通过使用来给子模板开放接口。必须是模板中的第一个出现的标签。如果出现重复代码,就应该考虑使用模板。尽可能多的定义,方便子模板实现更细的需求。 1、原始渲染 在django_lesson文件夹下新建一个django工程lesson2(新建工程的详情请见Django-01、初识Django和搭建Django helloworld)views.py # -*- coding: utf-8 -...

    lemanli 评论0 收藏0
  • Django-02.url、错误处理以及命名空间

    摘要:第二种方式叫做反向解析反向匹配反向查询或者简单的反查。一个命名空间有两个部分,它们都是字符串应用命名空间它表示正在部署的应用的名称。例如,可以预见的管理站点的应用命名空间是。的命名空间使用操作符指定。 1.Django 如何处理一个请求 Django 决定要使用的根URLconf 模块。通常,这个值就是ROOT_URLCONF 的设置,但是如果进来的HttpRequest对象具有一个...

    KaltZK 评论0 收藏0
  • Django-02.url、错误处理以及命名空间

    摘要:第二种方式叫做反向解析反向匹配反向查询或者简单的反查。一个命名空间有两个部分,它们都是字符串应用命名空间它表示正在部署的应用的名称。例如,可以预见的管理站点的应用命名空间是。的命名空间使用操作符指定。 1.Django 如何处理一个请求 Django 决定要使用的根URLconf 模块。通常,这个值就是ROOT_URLCONF 的设置,但是如果进来的HttpRequest对象具有一个...

    Meathill 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<