Django入门第一步:构建一个简单的Django项目

Django入门第一步:构建一个简单的Django项目

1、简介

Django是一个功能完备的Python Web框架,可用于构建复杂的Web应用程序。在本文中,将通过示例跳入并学习Django。您将按照以下步骤创建功能完备的Web应用程序,并一路学习框架的一些最重要的功能以及它们如何协同工作。

学习目标:

  • 了解Django是什么以及为什么他是一个伟大的web框架
  • 了解Django的体系结构以及与其他框架的对比
  • 独立搭建一个简单的Django项目和应用程序(app)

2、为什么要学习Django

web开发框架有很多,单单python语言的web框架大大小小的就有十几种,例如:Django、flask、tornado、web.py、aiohttp、sanic、vibora、bottle、falcon、weppy等。那为什么我们要优先学习Django呢?

  • 首先,它是使用python编写的,python也是对初学者友好的编程语言之一。
  • 其次,它的功能范围。如果你需要构建一个网站,使用Django,则无需依赖任何外部库或包。这意味着您不需要学习如何使用其他任何东西,并且语法是无缝的,因为从前到后只使用一个框架。

    还有一个额外的好处是,您不必担心更新一个库或框架会使您安装的其他库变得无用。如果您确实发现自己需要添加额外功能,则可以使用一系列外部库来增强您的站点。

  • 最后,就是有关Django的文档非常的完整,有关于Django各个方面的详细文档,还有一些相关的实例

Django是一个具有大量功能的高级Web应用程序框架。对于任何刚接触Web开发的人来说,由于其出色的文档,特别是如果您也熟悉Python,这对他们来说非常棒。最关键的是学会Django之后再去学习其他的框架就非常轻松了。

3、Django的体系结构

一个完整的Django程序是由一个项目组成,该项目被拆分为单独的应用程序。这个想法是每个应用程序处理站点需要执行的自包含功能。举个例子,想象一下像Instagram这样的应用程序。需要执行几个不同的功能:

  • 用户管理:登录,注销,注册等
  • 图像处理:上传,编辑和显示图像
  • 私人消息:用户和通知之间的私人消息

这些是各自独立的功能,所以如果这是一个Django站点,那么每个功能应该是单个Django项目中的不同Django应用程序。

Django项目还有一些适用于整个项目的配置,例如项目设置,URL,共享模板和静态文件。每个应用程序都可以拥有自己的数据库,并具有自己的功能来控制数据在HTML模板中向用户显示的方式。

每个应用程序也有自己的URL以及自己的HTML模板和静态文件,例如JavaScript和CSS。

Django应用程序的结构使得逻辑分离。它支持模型 - 视图 - 控制器模式,也就是我们传统web所说的MVC架构,这是构建大多数Web框架的体系结构。基本原则是在每个应用程序中有三个单独的文件分别处理三个主要逻辑:

  • model定义数据结构。这通常是一个数据库,是应用程序的基础层。
  • View使用HTML和CSS向用户显示部分或全部数据。
  • Controller处理数据库和视图的交互方式。

但是在Django中,架构略有不同。虽然基于MVC模式,Django处理控制器部分。无需定义数据库和视图的交互方式。这一切都框架内部都为你!

Django使用的模式称为模型 - 视图 - 模板(MVT)模式。MTV模式中的视图和模板构成MVC模式中的视图。您需要做的就是添加一些URL配置来映射视图,Django来帮你处理其余的东西!

4、独立创建一个Django项目

设置开发环境

无论在什么时候开发项目,都应该先设置一个好的开发环境。先创建一个目录,然后cd到这个目录当中。

> mkdir newDjango
> cd newDjango

现在就可以创建一个单属于你这个项目的虚拟环境了,但是这边我就直接使用系统环境。

创建一个Django项目

命令行创建:

# 创建项目
> django-admin startproject first_project
# 创建app
> python manage.py startapp hello_world

pycharm创建:

项目目录

# 项目first_django目录中各文件作用
- __init__.py 告诉Python将目录视为Python包。
- settings.py 包含Django的相关配置
- url.py 路由文件
- wsgi.py 建立服务器与Django程序之间的通信
# app中各部分文件的作用
- __init__.py 告诉Python将目录视为Python包。
- admin.py 包含Django管理页面的设置。
- apps.py 包含应用程序配置的设置。
- models.py 包含Django的ORM转换为数据库表的一系列类。
- tests.py 包含测试类。
- views.py 包含处理HTML模板中显示的数据的函数和类。

在创建应用程序后,正常来说我们需要在配置中安装它。在first_django/settings.py,在下面添加以下代码行INSTALLED_APPS

# Application definition

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'hello_world.apps.HelloWorldConfig',
]

如果你使用的是pycharm创建项目的话,就不需要这一步骤了,因为它会自动帮你讲app添加到相关配置里面。现在我们的项目以及相关的app都已经建立起来了,接下来就是创建一个视图,以便与向用户展示内容。

创建视图

Django中的视图是app目录中的views.py文件内的函数或类的集合。每个函数或类处理每次访问不同URL时处理的逻辑。

打开views.py会发现那里已经导入了一个render

from django.shortcuts import render

# Create your views here.

def hello_world(request):
    return render(request,'hello_world.html',{})

在这段代码中,已经定义了一个名为的视图函数hello_world()。调用此函数时,它将呈现一个名为的HTML文件hello_world.html。该文件尚不存在,接下来就来创建它。

view函数接受一个参数request。此对象是HttpRequestObject在加载页面时创建的对象。它包含有关请求的信息,例如方法,它可以包含多个值,包括GETPOST

创建模版

现在已经创建了视图功能,您需要创建HTML模板以显示给用户。在app目录中render()调用的目录中查找HTML模板templates。创建该目录,然后创建一个hello_world.html在其中命名的文件(由于我是直接使用pycharm创建的项目,所以会自带一个模版目录(templates)):

<h1>hello world</h1>

创建路由

第一种方式:

现在已经创建了一个函数来处理视图和模板以显示给用户。最后一步是处理url,也就是常说的网址,以便我们可以访问刚刚创建的网页。项目中有一个调用的模块urls.py,需要在该模块中包含该hello_world应用程序的URL配置。在里面first_django/urls.py,添加以下内容:

from django.contrib import admin
from django.urls import path
from hello_world import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('hello_world', views.hello_world)
]

添加成功之后,重启服务器并访问127.0.0.1:8000\hello_world,应该就能够看到新建的HTML模版:

第二种方式:

通过以上方式我们可以完成我们的第一个Django项目,但是万一你的项目当中不止一个app那要怎么办呢,要如何将不同app的路由解耦合呢?这个时候就需要用到我们分发路由的方式了:

首先,在first_django\urls.py中添加以下代码:

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('hello_world.urls')),
]

当然,只是这样还不够,我们还需要在相应app中创建一个独立的urls.py,如下:

from django.urls import path
from hello_world import views

urlpatterns = [
    path('', views.hello_world, name='hello_world'),
]

添加完再启动项目,在浏览器直接访问127.0.0.1:8000就直接可以访问了

ok,至此我们的第一个Django项目就已经完成了!!!

原文地址:https://www.cnblogs.com/Yang-Sen/p/11162021.html

时间: 2024-10-01 18:47:32

Django入门第一步:构建一个简单的Django项目的相关文章

Django入门第一步(安装和创建一个简单的项目)

目录 Django入门第一步(安装和创建一个简单的项目) 一. Django项目目录结构 二.注意事项 三.Django安装 3.1.安装命令 3.2.验证django是否安装成功 3.3.使用方法 Django入门第一步(安装和创建一个简单的项目) 在使用Django框架开发web应用程序时,开发阶段同样依赖wsgiref模块来实现Server的功能,我们使用Django框架是为了快速地开发application. 如果使用的是我们自定义的框架来开发web应用,需要事先生成框架包含的一系列基础

第一节 构建一个简单的WCF应用

先吐个槽,到目前为止接触的东西也就是些ado.net.select.delete.update.create.临时表的批量操作.及稍微复杂点的几个表之间查询再带几个excel导入导出 然后会点前端的js.jquery等,所以在公司目前薪水并不高(能在广州生活下去吧,什么买车买房的想都别想),拿自己身边的同志一比较感觉心里不怎么平衡,凡事还是得靠自己 自强才是硬道理,就吐到这里吧!开始我的wcf之旅吧 本人理工科类型的文笔很烂 希望各位大神不要喷小弟哦(参照的书本:WCF全面解析) 咱们还是从小学

基于Maven + SSM (Spring、SpringMVC、Mybatis)构建一个简单的测试项目

最近在公司实习期间的培训交流中有机会接触到SSM,然后自己花费1周的时间投入学习.谈不上深刻理解其中原理,所以没有涉及理论知识,只是浅层次的学习如何使用,在此将学习过程记录整理出来,一方面自己备用:另一方面,分享出来和做技术的各位讨论交流. 现阶段的我还做不到知行合一,所以决定先学会用,然后再去深究原理.若有不足以及错误之处,望多多包涵.指教,谢谢. 废话不多说,直接开干! 1.开发环境搭建 推荐博客地址: MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建 2.Maven W

构建一个简单的Maven项目

这里用Maven Archetype插件从空白开始创建简单的项目. 熟悉Maven 项目和Maven的核心概念. 关键词:构建生命周期(build lifecycle), Maven仓库(repositories), 依赖管理(dependency management), 项目对象模型(project object model)

idea+Spring+Mybatis+jersey+jetty构建一个简单的web项目

一.先使用idea创建一个maven项目. 二.引入jar包,修改pom.xml <dependencies> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>${jettyVersion}</version> </dependency> <depe

idea构建一个简单的maven_web项目

软件说明 好啦,开始创建mave的web项目啦! 原文地址:https://www.cnblogs.com/dshvv/p/9646003.html

Ant—使用Ant构建一个简单的Java工程(两)

博客<Ant-使用Ant构建一个简单的Java项目(一)>演示了使用Ant工具构建简单的Java项目,接着这个样例来进一步学习Ant: 上面样例须要运行多条ant命令才干运行Test类中的main函数,能不能简化须要运行命令呢?答案是肯定的,能够将build.xml文件里的脚本改成以下的脚本: <? xml version="1.0" encoding="UTF-8"?> <project name="test" d

Android官方入门文档[3]构建一个简单的用户界面

Android官方入门文档[3]构建一个简单的用户界面 Building a Simple User Interface构建一个简单的用户界面 This lesson teaches you to1.Create a Linear Layout2.Add a Text Field3.Add String Resources4.Add a Button5.Make the Input Box Fill in the Screen Width You should also read?Layouts

java入门第一步之完成jdk的安装(window)【转】

为了面向更多的人类,我决定重温我的java起步: 要进行java开发第一步就是进行java环境的安装,也就是jdk的按装: 1.由于java被oracle收购了,我们下载jdk也就去oracle的官网进行下载http://www.oracle.com/technetwork/java/archive-139210.html 下载jdk的jdk应该是一个java文件夹,里面有jdk和jre两个文件夹,正确下载后我们一般是将该j整个文件放到C:\Program Files\目录下: 2.接下来我们开