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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 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
相关文章
|
1天前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
8天前
|
开发框架 前端开发 数据库
使用Django框架构建一个完整的Web应用
【10月更文挑战第2天】使用Django框架构建一个完整的Web应用
20 1
|
1天前
|
监控 应用服务中间件 网络安全
部署Django应用:使用Gunicorn和Nginx构建高效的生产环境
部署Django应用:使用Gunicorn和Nginx构建高效的生产环境
8 0
|
1天前
|
存储 开发框架 JSON
【查漏补缺】Django模型字段类型及其应用
【查漏补缺】Django模型字段类型及其应用
4 0
|
3天前
|
存储 安全 UED
GitHub OAuth认证的Django应用
GitHub OAuth认证的Django应用
8 0
|
2月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
141 4
|
2月前
|
搜索推荐 前端开发 数据可视化
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
117 1
|
1月前
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
86 21
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面