【Django学习笔记(十)】Django的创建与运行

Django的创建与运行

  • 前言
  • 正文
    • 1、安装Django
    • 2、创建项目
      • 2.1 基于终端创建项目
      • 2.2 基于Pycharm创建项目
      • 2.3 两种方式对比
    • 3、默认项目文件介绍
    • 4、APP
    • 5、启动运行Django
      • 5.1 激活App
      • 5.2 编写URL和视图函数对应关系
      • 5.3 启动Django项目
        • 5.3.1 命令行启动
        • 5.3.2 Pycharm启动
        • 5.3.3 views.py
        • 5.3.4 urls.py
      • 5.4 templates模板
        • 5.4.1 在 views.py 中使用 render()
        • 5.4.2 在 app01 目录下创建 templates 目录
        • 5.4.3 在 templates 目录下创建 html 文件
        • 5.4.4 注意事项
      • 5. 5 静态文件
        • 5.5.1 在 app01 目录下创建 static 目录
        • 5.5.2 html 中引入图片
        • 5.5.3 创建静态文件的步骤
          • 5.5.3.1 ststic目录
          • 5.5.3.2 引用静态文件

前言

Django,作为一款高级 Python Web 框架,以其优雅的设计、清晰的架构和丰富的功能,赢得了广大开发者的青睐。本文旨在提供一个系统而深入的 Django 运行学习指南,从创建到运行,全面解析 Django 的核心概念和关键技术。

正文

1、安装Django

pip install django

在 Python 的安装目录下:

python38

  • python.exe

  • Scripts

      - pip.exe  - django-admin.exe 【工具,创建Django项目中的文件和文件夹】
    
  • Lib

     - 内置模块- site-packages:- openpyxl- python-docx- flask- django 【框架的源码】
    

在这里插入图片描述
在这里插入图片描述

2、创建项目

2.1 基于终端创建项目

  • 打开终端

  • 进入某个目录(项目放在哪里)

  • 执行命令创建项目

    E:\Python38\Scripts\django-admin.exe startproject 项目名称
    如果 E:\Python38\Scripts\django-admin.exe 已经加入环境变量
    django-admin.exe startproject 项目名称
    在这里插入图片描述
    在这里插入图片描述

2.2 基于Pycharm创建项目

注意:不能是社区版pycharm
因为电脑上没有专业版的Pycharm,不做展示

2.3 两种方式对比

  • 命令行,创建的项目是标准的
  • Pycharm,在标准的基础是默认增加了点东西
    • 创建的了一个 templates 的目录(删除)
    • settings.py 中增加了一行 os.path.join(BASE_DIR,'templates') (删除)

3、默认项目文件介绍

mysite

  • manage.py 【项目的管理:启动项目、创建app、数据管理】【不要动】
  • mysite
    • init.py
    • asgi.py【接收网络请求】【不要动】
    • settings.py 【项目配置文件:数据库的账号密码等】【重要
    • urls.py 【url 和函数的对应关系】【重要
    • wsgi.py【接收网络请求】【不要动】

4、APP

项目的一般结构:

  • app,用户管理
  • app,订单管理
  • app,后台管理
  • app,网站
  • app,API

  • 如果开发的项目比较简洁,用不到多 app,项目下创建一个 app 即可

mysite

  • manage.py 【项目的管理:启动项目、创建app、数据管理】【不要动】
  • mysite
    • init.py
    • asgi.py【接收网络请求】【不要动】
    • settings.py 【项目配置文件:数据库的账号密码等】【重要
    • urls.py 【url 和 函数的对应关系】【重要
    • wsgi.py【接收网络请求】【不要动】
  • app01
    • init.py
    • admin.py【Django默认提供了admin后台管理的功能】【固定,不要动】
    • apps.py【app启动类】【固定,不要动】
    • models.py【对数据库操作】【重要
    • tests.py【单元测试】【固定,不要动】
    • views.py【函数】【重要
    • migrations【数据库字段变更记录】【固定,不要动】
      • init.py

5、启动运行Django

5.1 激活App

  1. 在 Django 的项目文件夹中,打开 setting.py 文件:
    在这里插入图片描述

  2. 在 App01 文件夹中,打开 apps.py 文件,找到 Class 的名称
    在这里插入图片描述

  3. 在列表最后加上app01.apps.App01Config
    在这里插入图片描述

5.2 编写URL和视图函数对应关系

  1. 在项目文件 urls.py 中编写对应关系
    在这里插入图片描述

  2. 在 urls.py 中 导入 from tDjangoDemo.mysite.app01 import views

  3. 对应 url 和函数 :path('index/', views.index),
    在这里插入图片描述

  4. 在 views.py 中编写视图函数
    在这里插入图片描述

5.3 启动Django项目

5.3.1 命令行启动
python manage.py runserver
5.3.2 Pycharm启动

点击程序的运行按钮

在这里插入图片描述
在网址后面加 /index/:
在这里插入图片描述

5.3.3 views.py
from django.shortcuts import render, HttpResponse# Create your views here.
# 需要有默认参数request
def index(request):return HttpResponse("欢迎使用")def user_list(request):return HttpResponse("用户列表")def uesr_add(request):return HttpResponse("添加用户")
5.3.4 urls.py
from django.contrib import admin
from django.urls import pathfrom app01 import viewsurlpatterns = [# path('admin/', admin.site.urls),# www.xxx.com/index/  ->  函数path("index/", views.index),path("userlist/", views.user_list),path("useradd/", views.uesr_add),
]

在这里插入图片描述
在这里插入图片描述

5.4 templates模板

5.4.1 在 views.py 中使用 render()
def user_list(request):return render(request, "user_list.html")
5.4.2 在 app01 目录下创建 templates 目录
5.4.3 在 templates 目录下创建 html 文件
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>用户列表</h1>
</body>
</html>

在这里插入图片描述

5.4.4 注意事项
def user_list(request):# 1、如果在 settings.py 中添加 os.path.join(BASE_DIR,'templates') 优先去项目根目录的 templates 中寻找# 2、去 app 目录下的 templates 目录寻找 user_list.html(根据app的注册顺序,逐一去 templates 目录下寻找)return render(request, "user_list.html")
  1. 如果在 settings.py 中添加 os.path.join(BASE_DIR,'templates') 优先去项目根目录的 templates 中寻找
  2. 去 app 目录下的 templates 目录寻找 user_list.html(根据app的注册顺序,逐一去 templates 目录下寻找)

5. 5 静态文件

在开发过程中,一般将:

  • 图片
  • CSS
  • JS
    都会当作静态文件处理
5.5.1 在 app01 目录下创建 static 目录

并随意添加一个 png 文件
在这里插入图片描述

5.5.2 html 中引入图片
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><img src="/static/1.png" alt=""><h1>用户列表</h1>
</body>
</html>

在这里插入图片描述

5.5.3 创建静态文件的步骤
5.5.3.1 ststic目录

在 app 目录下创建 ststic 文件夹

在这里插入图片描述

5.5.3.2 引用静态文件

在这里插入图片描述

<!DOCTYPE html>
{% load static %}<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="{% static 'plugins/bootstrap-3.4.1/css/bootstrap.css' %}">
</head>
<body><img src="{% static 'img/1.png' %}" alt=""><h1>用户列表</h1><input type="text" class="btn btn-primary" value="新建"/><script src="{% static 'js/jquery-3.7.1.min.js' %}"></script>
<script src="{% static 'plugins/bootstrap-3.4.1/js/bootstrap.js' %}"></script>
</body>
</html>

在这里插入图片描述

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

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

相关文章

C++缺省参数、函数重载、引用

一、缺省参数 1.1缺省参数概念 缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时&#xff0c;如果没有指定实参则采用该形参的缺省值&#xff0c;否则使用指定的实参。 void func(int n 0) {cout << n << endl; }int main() {func();func…

【经验01】spark执行离线任务的一些坑

项目背景: 目前使用spark跑大体量的数据,效率还是挺高的,机器多,120多台的hadoop集群,还是相当的给力的。数据大概有10T的量。 最近在出月报数据的时候发现有一个任务节点一直跑不过去,已经超过失败次数的阈值,报警了。 预警很让人头疼,不能上班摸鱼了。 经过分析发现…

Apache Knox 2.0.0使用

目录 介绍 使用 gateway-site.xml users.ldif my_hdfs.xml my_yarn.xml 其它 介绍 The Apache Knox Gateway is a system that provides a single point of authentication and access for Apache Hadoop services in a cluster. The goal is to simplify Hadoop securit…

LANCET:常见统计使用错误+规避建议!

国际顶级医学期刊《柳叶刀》&#xff08;The Lancet&#xff09;最近发表了一篇实用的通讯文章&#xff08;Correspondence&#xff09;&#xff0c;该篇Correspondence基于过去3年内对提交给《柳叶刀》的1000多篇manuscripts进行审核的经验&#xff0c;总结了科研report中常见…

【系统架构师】-UML-用例图(Use Case)

1、概述 用于表示系统功能需求&#xff0c;以及应用程序与用户或者与其他应用程序之间的交互关系。 2、组成 参与者&#xff08;Actors&#xff09;&#xff1a;与系统交互的用户或其他系统。用一个人形图标表示。用例&#xff08;Use Cases&#xff09;&#xff1a;系统需要…

2024年第九届数维杯数学建模A题思路分享

文章目录 1 赛题思路2 比赛日期和时间3 竞赛信息4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间&#xff1a;2024…

汇凯金业:黄金价格波动的原因是什么

黄金价格波动的原因通常是多方面的&#xff0c;包括但不限于&#xff1a; 经济数据&#xff1a;比如就业数据、通胀率、GDP增长率等对经济状况的指标不及预期&#xff0c;可能会增加黄金作为避险资产的吸引力。 货币政策&#xff1a;央行的利率决策、货币供应量的变化、量化宽…

当前主机使用的磁盘以及带宽情况

今日看到有用户在论坛留言反馈他买了Hostease Linux虚拟主机&#xff0c;想要查看当前主机使用的磁盘以及带宽情况&#xff0c;但是不知道如何查看。因为这边也是对于Hostease的虚拟主机产品是有所了解的&#xff0c;知道他们都是默认带管理面板的操做起来很方便的&#xff0c;…

基于FPGA的数字信号处理(10)--定点数的舍入模式(1)四舍五入round

1、前言 将浮点数定量化为定点数时&#xff0c;有一个避不开的问题&#xff1a;某些小数是无法用有限个数的2进制数来表示的。比如&#xff1a; 0.5(D) 0.1(B) 0.1(D) 0.0001100110011001~~~~(B) 可以看到0.5是可以精准表示的&#xff0c;但是0.1却不行。原因是整数是离散的…

Linux学习笔记2---Makefile

单个文件编译用gcc编译确实是挺方便的&#xff0c;但是多个文件需要编译一个个的编译就属实是麻烦了&#xff0c;而针对多文件编译也有快捷的办法&#xff0c;即Makefile脚本。要运行Makefile需要先安装make程序。 apt install make 1.什么是Makefile 一个工程中的源文件不计…

element-plus el-cascader 懒加载实现-省市区街道选择及回显

大概思路&#xff1a; 准备一个接口可以通过父Id,查询到下一级省市区街道的信息&#xff1b;如下方的getRegionListOne确定后端的数据结构&#xff0c;需要在created里边处理数据回显逻辑el-cascader接收的数据格式是[‘’,‘’,‘’];后端的数据格式多为[{provinceId: ‘’, …

基于随机森林与支持向量机的高光谱图像分类(含python代码)

目录 一、背景 二、代码实现 三、项目代码 一、背景 基于深度学习的教程&#xff08;卷积神经网络&#xff09;详见&#xff1a;基于卷积神经网络的高光谱图像分类详细教程&#xff08;含python代码&#xff09;-CSDN博客 在高光谱图像分类领域&#xff0c;随机森林&#…

FPGA第一篇,FPGA现场可编程门阵列,从0开始掌握可编程硬件开发(FPGA入门指南)

简介&#xff1a;FPGA全称Field-Programmable Gate Array&#xff0c;是一种可编程逻辑器件&#xff0c;它通过可编程的逻辑单元和可编程的连接网络实现了灵活的硬件实现。与固定功能的集成电路&#xff08;ASIC&#xff09;相比&#xff0c;FPGA具有更高的灵活性和可重新配置性…

未授权访问:Redis未授权访问漏洞

目录 1、漏洞原理 2、环境搭建 3、未授权访问 4、利用redis未授权写入weshell 5、利用redis未授权反弹shell 6、利用redis未授权实现免密登录 防御手段 从这篇文章开始我就要开始学习各种未授权访问的知识和相关的实操实验了&#xff0c;一共有好多篇&#xff0c;内容主…

美港通正规炒股市场恒生科指半日跌近2% 大型科技股集体下行

查查配5月7日电 7日,港股主要股指回调。截至午盘,恒生指数跌0.85%,恒生科技指数跌1.98%。 美港通证券以其专业的服务和较低的管理费用在市场中受到不少关注。该平台提供了实盘交易、止盈止损、仓位控制等功能,旨在为投资者提供更为全面的投资体验。 来源:Wind 盘面上,零售、软…

OC5864 0.6A输出 60V输入 500KHZ DCDC降压转换IC

一级代理 技术支持 提供样品测试 Tel&#xff1a;18028786817 简介 OC5864是一款内置功率MOSFET的单片降压型开关模式转换器。OC5864在5.5~60V宽输入电源范围内实现0.6A峰值输出电流&#xff0c;并且具有出色的线电压和负载调整率。 OC5864采用PWM电流模工作模式&#xff0c;…

stm32单片机遇到的问题(持续更新)

flymcu下载问题一直显示连接&#xff0c;实际是连接不上 参考&#xff0c;软件一键下载电路等 使用flymcu下载程序过程中&#xff0c;检测两个地方**&#xff0c;第一&#xff0c;两个boot引脚在下载和硬件运行不同的连接方式** BOOT1x&#xff0c;BOOT00&#xff1a;最常用的模…

kubectl_进阶_网络

网络 容器网络发展到现在&#xff0c;形成了两大阵营&#xff0c;就是 Docker 的 CNM 和 Google、CoreOS、Kuberenetes 主导的 CNI。首先明确一点&#xff0c;CNM 和 CNI 并不是网络实现&#xff0c;他们是网络规范和网络体系&#xff0c;从研发的角度他们就是一堆接口&#x…

CentOS操作

1.如何修改主机名 方法一&#xff1a; 修改命令&#xff1a;hostnamectl set-hostname 主机名 查看命令&#xff1a;hostname 方法二和方法三都是永久改变主机名&#xff0c;需要密码验证 方法二 修改命令&#xff1a;nmcli general hostname 主机名 查看命令&#xff…

三维点云处理-聚类(下)

接着前一部分数据聚类方法的介绍&#xff0c;由于K-means和GMM方法都是基于欧式距离信息处理的&#xff0c;两者分别以圆形和椭圆形来作为数据的聚类分割方式&#xff0c;这种情况下会导致环形图和月牙图数据分割不准确&#xff0c;因此进一步的介绍一种谱聚类方法&#xff0c;…