Django学习一:创建Django框架,介绍Django的项目结构和开发逻辑。创建应用,编写主包和应用中的helloworld

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 这篇文章是关于如何创建一个Django框架,介绍Django的项目结构和开发逻辑,并指导如何创建应用和编写“Hello, World!”程序的教程。

前言

  • 接了一个商用项目,要求使用django框架进行搭建后台web框架。因为之前没有写过Django相关的博文,于是记录一下,希望可以给大家提供一些思路,不足之处还望大家指正。
  • 有兴趣可以添加我,一起探讨技术。
    • 加V:Fengfl1222,名称:insist科技。
    • 要资料,申请备注为:CSDN+地方,如CSDN山东。
    • 想接项目一起努力进步,申请备注为:CSDN+地方+项目,如CSDN+山东+项目,添加成功之后,可以发一份简历。
    • 本人介绍:211高校(北京交通大学)计算机研究生,本科双非计算机毕业后,校招进入军工,工作2个月离职后进入阿里,工作两年后离职考研,现已毕业,入职济南某大厂。主要技术栈:java、python、vue、react等web开发需求。已有开发团队,如果有空闲时间想一个接项目者,可以加我呦。
    • 不按上诉规则添加好友者,不予通过。

一、Django环境配置

1、python 环境

因为Django是需要Python的环境,所以首先下载python,我这里使用的Anaconda 安装的python。
使用Anaconda安装python可以看这篇博客:[pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。](https://developer.aliyun.com/article/1626641
查看本机python环境:

python --version

在这里插入图片描述

2、Django环境

需要安装全局Django

pip install django

查看版本

python -m django --version

在这里插入图片描述

3、mysql环境

因为要使用到mysql,所以需要安装连接mysql的驱动,这里使用的是mysqlclient,或者这里先不安装,后面可以根据提示进行手动安装,命令是一样的

pip install mysqlclient

如果安装了conda,可以使用如下命令

conda install mysqlclient

4、IDE:pycharm

开发Django框架的开发环境IDE使用的是jetbrain公司的pycharm,使用社区版本即可,好用方便,自行百度下载

二、第一次创建Django项目

1、创建项目door_web_django_system

进入到你想要创建django项目的路径,door_web_django_system代表你的项目名,输入命令

django-admin startproject door_web_django_system

在这里插入图片描述

2、运行启动

  • 进入到 door_web_django_system 项目,

    cd door_web_django_system
    
  • 然后运行

    python manage.py runserver
    

    在这里插入图片描述

  • 按照上面爆红的提示执行命令

    python manage.py migrate
    

    在这里插入图片描述

  • 然后再次执行运行命令python manage.py runserver,结果如下:
    在这里插入图片描述

  • 浏览器打开http://localhost:8000/如下所示,代表Django项目创建并运行成功
    在这里插入图片描述

三、Django项目介绍

1、介绍Django项目结构

(记得从终端中把项目关闭,后面可以从pycharm的终端中启动,比较方便)
首先使用pycharm打开。
在这里插入图片描述
找到设置,配置python环境,我的如下图所示
在这里插入图片描述
项目下面有个主包,和项目名同名,这里一般主要作为项目的配置包,不在这里写业务逻辑

  1. urls.py: 主路由的跳转
  2. settings.py:项目的配置文件,包括mysql的配置等等
  3. asgi.py
  4. wsgi.py

2、第一个helloword

主包中创建views.py,内容如下

from django.http import HttpResponse

def hello_world(request):
    return HttpResponse("Hello, World!")

在这里插入图片描述
urls.py 中内容如下:

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

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

在这里插入图片描述
运行项目,在浏览器输入http://localhost:8000/hello/,返回的字符串helloword如下所示,这样一个web服务器搭建好啦
在这里插入图片描述

4、django的项目逻辑(和java对标)

  1. urls.py: 存放的是项目对外暴露的url请求,对应于java项目的controller
  2. views.py: 存放的是项目的业务逻辑层和操作数据库,对应于java项目的servicesdao层。
  3. models.py:存放的是对象实例,对应于mysql的表,Django中可以通过models中的对象类自动创建mysql中的表。对应于java中的beanPOJO类。

三、创建Django应用

1. 介绍

主包是和项目同名的一个包,一般只用来做配置使用。
一般会创建其他的包,然后主要写业务逻辑。

2. 创建应用app01

进入djangoDemo目录,运行命令:(使用pycharm,可以在终端直接执行命令)

python manage.py startapp app01

在这里插入图片描述
生成目录如下
在这里插入图片描述
然后需要在主包的setting.py中挂载刚刚创建的应用app01
在这里插入图片描述
如果不挂载,在后面执行命令python manage.py makemigrations时,会出现如下问题。该命令的使用时在第二章里学习使用。
在这里插入图片描述

3、app01的helloword

  1. app01中的views.py
from django.shortcuts import render
from django.http import HttpResponse

def hello_world(request):
    return HttpResponse("app01 Hello, World!")

在这里插入图片描述
2. app01中的urls.py

from django.urls import path
from . import views

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

在这里插入图片描述
3. 主包中的urls.py
增加了最后一行

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

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

在这里插入图片描述
4. 运行项目,浏览器运行下面两个url地址。http://localhost:8000/hello/http://localhost:8000/app01/hello/。截图如下,说明应用创建成功。
在这里插入图片描述

在这里插入图片描述
本节完成,下一节更精彩,进一步学习配置mysql,创建model实例,自动创建数据库表。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
12天前
|
数据采集 中间件 Python
如何在Django框架中进行输入验证和过滤?
通过综合运用这些方法,可以在 Django 框架中有效地进行输入验证和过滤,提高应用的安全性和数据质量。同时,还可以根据具体的业务需求进一步扩展和定制验证逻辑。
98 64
|
1月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
156 45
|
12天前
|
监控 安全 测试技术
Django框架的表单验证和过滤机制是否可以应对复杂的安全场景?
综上所述,Django 框架的表单验证和过滤机制在一定程度上可以应对复杂的安全场景,但需要综合运用多种手段来进一步提升安全性,以适应不断变化的安全挑战。
24 1
|
19天前
|
搜索推荐 API 开发者
Django框架和Flask框架的适用场景分别是什么?
总体而言,Django 更适合需要全面功能和大规模开发的场景,而 Flask 则更适合灵活性要求高、小型项目或特定需求的开发。当然,具体的选择还应根据项目的具体情况、团队的技术能力和偏好等因素来综合考虑。在实际应用中,开发者可以根据项目的特点和需求,灵活选择使用这两个框架,或者结合它们的优势来构建更强大的 Web 应用程序。
|
19天前
|
开发框架 搜索推荐 数据可视化
Django框架适合开发哪种类型的Web应用程序?
Django 框架凭借其强大的功能、稳定性和可扩展性,几乎可以适应各种类型的 Web 应用程序开发需求。无论是简单的网站还是复杂的企业级系统,Django 都能提供可靠的支持,帮助开发者快速构建高质量的应用。同时,其活跃的社区和丰富的资源也为开发者在项目实施过程中提供了有力的保障。
|
21天前
|
开发者 数据库管理 Python
Django框架和Flask框架的区别
总体而言,Django 适合需要快速搭建大型应用的开发者,而 Flask 则更适合有特定需求和追求灵活性的开发者。
106 64
|
21天前
|
安全 前端开发 数据库
Django框架
总的来说,Django 是一个非常优秀的 Web 框架,它为开发者提供了坚实的基础和丰富的功能,使得构建高质量的 Web 应用变得更加容易和高效。无论是初学者还是经验丰富的开发者,都可以从中受益,利用它来实现自己的创意和想法。
37 4
|
25天前
|
Python
Django 框架的路由系统
Django 框架的路由系统
37 6
|
数据库 Python
django 1.8 官方文档翻译: 1-2-2 编写你的第一个Django应用,第2部分
编写你的第一个 Django 程序 第2部分 本教程上接 教程 第1部分 。 我们将继续开发 Web-poll 应用,并且专注在 Django 的 自动生成的管理网站上。
1140 0
|
Web App开发 索引 Python
django 1.8 官方文档翻译: 1-2-3 编写你的第一个Django应用,第3部分
编写你的第一个 Django 程序 第3部分 本教程上接 教程 第2部分 。我们将继续 开发 Web-poll 应用并且专注在创建公共界面 – “视图 (views )”。
1252 0