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

news2024/11/18 21:33:21

文章目录

  • 前言
  • 一、Django环境配置
    • 1、python 环境
    • 2、Django环境
    • 3、mysql环境
    • 4、IDE:pycharm
  • 二、第一次创建Django项目
    • 1、创建项目door_web_django_system
    • 2、运行启动
  • 三、Django项目介绍
    • 1、介绍Django项目结构
    • 2、第一个helloword
    • 4、django的项目逻辑(和java对标)
  • 三、创建Django应用
    • 1. 介绍
    • 2. 创建应用app01
    • 3、app01的helloword

前言

  • 接了一个商用项目,要求使用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。
查看本机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实例,自动创建数据库表。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1799362.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

为什么PPT录制没有声音 电脑ppt录屏没有声音怎么办

一、为什么PPT录制没有声音 1.软件问题 我们下载软件的时候可能遇到软件损坏的问题,导致录制没有声音,但其他功能还是可以使用的。我建议使用PPT的隐藏功能,下载插件,在PPT界面的加载项选项卡中就能使用。我推荐一款可以解决录屏…

探索风电机组:关键软件工具全解析

探索风电机组:关键软件工具全解析 随着可再生能源市场的迅猛发展,风电作为一种重要的可再生能源,其相关技术和工具也越来越受到重视。风电机组的设计、仿真、优化及运维等方面,都需要依靠一系列专业软件工具来实现。这些软件涵盖…

链表的回文结构OJ

链表的回文结构_牛客题霸_牛客网对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为。题目来自【牛客题霸】https://www.nowcoder.com/practice/d281619e4b3e4a60a2cc66ea32855bfa?tpId49&&tqId29370&rp1&a…

k8s怎么监听资源的变更

监听k8s所有的 Deployment 资源 package mainimport ("context""fmt"v1 "k8s.io/api/apps/v1""k8s.io/apimachinery/pkg/util/json""k8s.io/client-go/informers""k8s.io/client-go/kubernetes""k8s.io/cli…

RFID测温技术在电力行业的革命性应用

随着科技的快速发展, RFID技术在各个领域的应用越来越广泛,而其中的一个重要领域就是电力行业。这一无线测温技术以其非接触、实时、高精度的特点,为电力设备的温度监测带来了革命性的改变。电力行业作为国家基础设施建设的重要支柱,设备的安…

使用GitHub托管静态网页

前言​: 如果没有服务器,也没有域名,又想部署静态网页的同学,那就可以尝试使用GitHub托管自己的网页​。 正文: 首先要有自己的GitHub的账号,如果没有可以自己搜索官网进行注册登录,国内对Gi…

git【工具软件】分布式版本控制工具软件

一、Git 的介绍 git软件的作用:管理软件开发项目中的源代码文件。 常用功能: 仓库管理、文件管理、分支管理、标签管理、远程操作 功能指令: add,commit,log,branch,tag,remote…

增加强制索引依然慢

版本: 阿里云RDS MySQL 8.0.25 线上数据库CPU达到100%, 定位到如下SQL EXPLAIN SELECT ssd.goods_no,ssd.goods_name,ssd.goods_spec,ssd.goods_unit,ssd.create_time,w.warehouse_name,sb.batch_no,swl.warehouse_region_location_name,sc.customer_name AS goodsOwnerName,s…

数据分析必备:一步步教你如何用Pandas做数据分析(19)

1、Pandas 日期函数 Pandas 日期函数操作实例 扩展时间序列,日期功能在财务数据分析中起着重要作用。使用日期数据时,我们经常会遇到以下情况- 生成日期序列 将日期序列转换为不同的频率 2、创建日期范围 通过指定日期和频率使用date.range()函数&…

Redis高频面试基本问题整理

文章目录 1、Redis底层协议2、Redis的热Key问题如何解决3、Redis是单线程还是多线程4、 什么是脑裂问题?5、redis集群会有写操作丢失吗?6、什么是 Redis 的 Pipeline?它有哪些优点?7、redis主从复制、哨兵机制、集群的理解8、缓存…

ssh远程转发22端口,使用shell工具进行连接|使用服务器地址ssh连接本地ubuntu|端口映射

☆ 问题描述 我在内网主机中,使用docker创建了多个虚拟机,我希望能通过我的公网ip服务器端口进行shell访问 ★ 解决方案 我创建一个新的虚拟机为例 1. 创建并打开容器 docker run -itd --name test ubuntu2. 进入容器 docker exec -it test /bin/b…

Rocky Linux安装与基础配置

目录 背景与起源 主要特点 目标用户 发展前景 下载 安装 常用配置命令: 更换镜像源 Rocky Linux 是一个开源的、由社区驱动的操作系统,旨在使用 Red Hat Enterprise Linux(RHEL)源码构建的下游二进制兼容发行版。以下是关于…

[word] word冻结单元格在哪里 #微信#笔记#职场发展

word冻结单元格在哪里 我们在制作一个Excel表格的时候,如果行数较多,列数也较多时,一旦向下滚屏,则上面的标题行也跟着滚动,在处理数据时往往难以分清各列数据对应于表头的标题,容易搞错位置。 其实&…

全程自动化操作 自动生成图文发布,矩阵批量软件系统 日产1-3万篇

一、简介 图文发布对于现代网站运营至关重要,然而手动创建和发布图文内容效率低下且易出错。全自动化图文生成发布流程可以解决这个问题。本文将详细说明如何以编程方式实现这一流程。 二、模块设计 该流程主要包含三个模块:图像生成,文本生成…

Android中打印某应用的堆栈信息

先更具报名获取pid adb shell "ps|grep 包名" zygote的堆栈dump 实际上这个可以同时dump java线程及native线程的堆栈&#xff0c;对于java线程&#xff0c;java堆栈和native堆栈都可以得到。 kill -3 <pid> debuggerd的堆栈dump debuggerd是android的一个…

网络安全实验BUAA-全套实验报告打包

下面是部分BUAA网络安全实验✅的实验内容 &#xff1a; 认识路由器、交换机。掌握路由器配置的基本指令。掌握正确配置路由器的方法&#xff0c;使网络正常工作。 本博客包括网络安全课程所有的实验报告&#xff1a;内容详细&#xff0c;一次下载打包 实验1-路由器配置实验2-AP…

5 分钟内构建一个简单的基于 Python 的 GAN

文章目录 一、说明二、代码三、训练四、后记 一、说明 生成对抗网络&#xff08;GAN&#xff09;因其能力而在学术界引起轩然大波。机器能够创作出新颖、富有灵感的作品&#xff0c;这让每个人都感到敬畏和恐惧。因此&#xff0c;人们开始好奇&#xff0c;如何构建一个这样的网…

社区服务支持

社区服务支持 原创 小王搬运工 时序课堂 2024-06-07 19:29 四川 &#x1f31f; 邀请函 | 加入我们的时序数据挖掘社区 &#x1f680; 尊敬的数据爱好者们&#xff0c; 我们诚挚地邀请您加入我们的专业社区——时序数据挖掘社区&#xff0c;一个专注于时序数据分析、挖掘与应…

安装Android Studio报错unable to access android sdk add-on list的解决方案

1. 安装报错 初次安装Android Studio时&#xff0c;提示报错如下&#xff1a; unable to access android sdk add-on lis2. 报错原因 安装Android Studio时&#xff0c;会在默认路径下检测是否有Android SDK&#xff0c;如果没有的话&#xff0c;就会报上述错误。 3. 解决方…

【STL源码剖析】priority_queue 优先队列的简单实现

水到绝处是风景 人到绝境是重生 目录 priority_queue的模拟实现 源码剖析&#xff1a; 代码测试&#xff1a; 契子✨ 我们之前不仅讲过 队列queue 还有 双端队列deque 而我们今天所讲的依旧是队列家族的成员 -- 优先队列priority_queue 顾名思义&#xff0c;priority_queue是…