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

news2024/11/22 9:09:29

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 path

from app01 import views

urlpatterns = [
    # 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.coloradmin.cn/o/1652130.html

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

相关文章

Re71:读论文 Sequence to Sequence Learning with Neural Networks

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文名称&#xff1a;Sequence to Sequence Learning with Neural Networks ArXiv下载地址&#xff1a;https://arxiv.org/abs/1409.3215 本文是2014年NeurIPS论文&#xff08;那时候这个会还叫NIPS&#xf…

共享WiFi项目加盟骗局:共享WiFi贴码收益真的月入过万?

如今每个人的手机都是智能手机&#xff0c;我们几乎随时随地都需要网络的陪伴。而随着共享经济的概念深入人心&#xff0c;一种名为“共享WiFi贴码”的新兴事物逐渐走入了我们的视线。据说通过这种方式&#xff0c;人们可以实现轻资产创业&#xff0c;甚至有人声称能借此达到月…

ubuntu_Docker安装配置

什么是docker? Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中&#xff0c;然后发布到任何流行的 Linux或Windows操作系统的机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c;相互之间不会有…

百面算法工程师 | python解释器基础问答

本文给大家带来的百面算法工程师是深度学习python解释器面试总结&#xff0c;文章内总结了常见的提问问题&#xff0c;旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中&#xff0c;我们还将介绍一些常见的python用法&#xff0c;并提供参考的回答及其理论基础&…

微生物群落构建(community assembly)

Introduction Zhou, J. & Ning, D. Stochastic Community Assembly: Does It Matter in Microbial Ecology? Microbiol Mol Biol Rev 81, e00002-17 (2017). This review is very comprehensive (1)&#xff01; 周集中老师实验室的长期研究兴趣集中在从基因组到生态系统…

史上最简单给大模型注入新知识的方法

《史上最简单给大模型注入新知识的方法》 image-20240508093410856 先执行 pip install --upgrade openai 。 from openai import OpenAI# 加载.env 文件到环境变量from dotenv import load_dotenv, find_dotenv_ load_dotenv(find_dotenv())# 初始化 OpenAI 服务。会自动从环…

第一个C++项目

文章目录 一、新建项目1.打开软件&#xff0c;选择“创建新项目”2.新建项目栏中&#xff0c;按自己的需求来设置项目模板&#xff0c;项目名称和文件存放位置&#xff0c;设置好后点击“确认”3. 点击“Next”4. 按照自己需求设置&#xff0c;设置完后&#xff0c;点击“Next”…

MySQL增删查改(进阶)

目录 数据库约束 表的设计 查询操作的进阶 查询搭配插入使用 聚合查询 1>count(*) 2>sum(*) 3>avg(*) 4>max(*) 5>min(*) group by分组分别进行聚合查询 联合查询 / 多表查询[重点] 外连接 自连接 子查询 合并查询 小结: 数据库约束 有时候…

虚拟机镜像文件qcow2格式转vmdk

一、在esxi上虚拟机导出qcow2镜像文件 1、卸载数据盘、网卡 2、登录虚拟机所在物理服务器&#xff0c;查找系统盘名为vm-101-disk-0的文件位置 find / -name "vm-101-disk-0"使用命令导出qcow2镜像&#xff08;进度条走完就完成了&#xff09;&#xff1a; qemu…

基于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却不行。原因是整数是离散的…

蓝桥杯【第15届省赛】Python B组 32.60 分

F 题列表越界访问了……省一但没什么好名次 测评链接&#xff1a;https://www.dotcpp.com/oj/train/1120/ C 语言网真是 ** 测评&#xff0c;时间限制和考试的不一样&#xff0c;E 题给我整时间超限&#xff1f; A&#xff1a;穿越时空之门 100&#x1f3c6; 【问题描述】 随…

LLMs之unsloth:unsloth的简介、安装和使用方法、案例应用之详细攻略

LLMs之unsloth&#xff1a;unsloth的简介、安装和使用方法、案例应用之详细攻略 目录 unsloth的简介 0、特点和功能&#xff1a; 特点 功能 1、免费微调 2、Unsloth.ai新闻 3、链接和资源 4、主要特征 5、性能基准测试 unsloth的安装和使用方法 1、安装说明 Conda安…

牛客热题:链表的奇偶重排

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;力扣刷题日记 &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 文章目录 牛客热题&#xff1a;链表的奇偶重排题目链接方法一&…

在家中访问一个网站的思考

在家中访问一个网站的思考 1、家庭网络简介2、家庭WLAN DHCP2.1、家庭路由器PPPOE拨号2.2、DHCP&#xff08;动态主机配置协议&#xff09;2.3、接入家庭网的主机IP地址2.4、家庭总线型以太网2.5、Mac地址2.6、ARP协议2.7、IP协议 & UDP/TCP协议2.8、NAT&#xff08;Netwo…

带你快速掌握Spring Task

Spring Task ⭐Spring Task 是Spirng框架提供的任务调度工具&#xff0c;可以按照约定的时间自动执行某个代码逻辑 &#x1f4cc;一款定时任务框架 应用场景 信用卡信息银行贷款信息火车票信息 只要是需要定时处理的场景都可以使用Spring Task 只要有定时&#xff0c;就会有…

论文润色就用意得辑:让你的学术之作更上一层楼

在学术的海洋里&#xff0c;每一篇论文都是一艘承载智慧与探索的小船。然而&#xff0c;好的内容也需要好的包装&#xff0c;才能更好地展现其价值。在这个追求精益求精的时代&#xff0c;意得辑以其专业的论文润色服务&#xff0c;成为了众多学者们的得力助手。 意得辑&#…

亚马逊自养号测评系统搭建技术要点解析

亚马逊自养号测评系统搭建技术要求主要涵盖了网络环境、IP管理、设备配置、浏览器防关联、支付卡选择与管理以及账号管理等多个方面。测评是否稳定长久这些条件都是缺一不可的&#xff0c;以下是一些具体的技术要求&#xff1a; 1. 网络环境&#xff1a;使用国外服务器在云端搭…

论文润色就用意得辑,打造学术精品新篇章

在学术的世界里&#xff0c;一篇优秀的论文如同璀璨的星辰&#xff0c;吸引着同行们的目光。然而&#xff0c;好的论文并非一蹴而就&#xff0c;它需要经过反复打磨、润色&#xff0c;才能焕发出夺目的光彩。在这个过程中&#xff0c;意得辑以其专业的服务、精湛的技巧&#xf…

geojson文件规格

geojson文件示例&#xff0c; {"type": "FeatureCollection","features": [{"type": "Feature","geometry": {"type": "Point","coordinates": [102.0, 0.5]},"properties&q…

Exness外汇大陆投资者开户详细流程!

Exness是一家全球领先的外汇和差价合约交易平台&#xff0c;因其高效稳定的服务和多样化的交易工具&#xff0c;受到广大投资者的青睐。然而&#xff0c;由于中国大陆用户无法直接访问Exness官网&#xff0c;想要开户的大陆投资者需要通过特定方式才能完成注册。本文将详细介绍…