【Django】从零开始学Django(持续更新中)

PyCharm的版本必须为专业版,社区版不具备Web开发功能的。

一. Django建站基础

Django采用MTV的框架模式,即模型(Model)、模板(Template)和视图(Views),三者之间各自负责不同的职责。
●模型:数据存取层,处理与数据相关的所有事务,例如如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。
●模板:表现层,处理与表现相关的决定,例如如何在页面或其他类型的文档中进行显示。
●视图:业务逻辑层,存取模型及调取恰当模板的相关逻辑,模型与模板的桥梁。

pip install Django

在这里插入图片描述

python manage.py startapp index

在这里插入图片描述

运行:

在这里插入图片描述
成功!!!


现在正式开始Django之旅!!!

在templates中新建index.html文件:

在这里插入图片描述
在settings.py 中找到配置属性INSTALLED_APPS添加index:
在这里插入图片描述

最后在项目的urls.py(djangoProject文件夹的urls.py)、views.py(项目应用index的views.py文件)和index.html(templates文件夹的index.html)文件里编写相应的代码,即可实现简单的Hello World网页,代码如下:

# index的views.py
from django.shortcuts import render
def index(request):return render(request, 'index.html')

# index的urls.py
from django.contrib import admin
from django.urls import path
# 导入项目应用index
from index.views import index
urlpatterns = [path('admin/', admin.site.urls),path('', index)
]

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Hello World</title>
</head>
<body><span>Hello World!!</span>
</body>
</html>

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

● 当用户在浏览器访问网址的时候,该网址在项目所设置的路由(urls.py文件)里找到相应的路由信息。
● 然后从路由信息里找到对应的视图函数(views.py文件),由视图函数处理用户请求。
● 视图函数将处理结果传递到模板文件(index.html文件),由模板文件生成网页内容,并在浏览器里展现。

启动MyDjango项目,并在浏览器上访问路由地址(http://127.0.0.1:8000)即可看到Hello World网页。

在这里插入图片描述

如何调试?
调试必知:

在这里插入图片描述
对于HTMl,CSS,Javascript 的基础知识不再赘述。

JavaScript的事件触发表:
在这里插入图片描述
document对象方法表:
在这里插入图片描述

二. Django配置信息

1. 基本配置信息

Django的配置文件settings.py用于配置整个网站的环境和功能,核心配置必须有项目路径、密钥配置、域名访问权限、App列表、中间件、资源文件、模板配置、数据库的连接方式。

域名访问权限ALLOWED_HOSTS
设置可访问的域名,默认值为空列表。
当DEBUG为True并且ALLOWED_HOSTS为空列表时,项目只允许以localhost或127.0.0.1在浏览器上访问。
当DEBUG为False时,ALLOWED_HOSTS为必填项,否则程序无法启动。

如果在项目中创建了App,就必须在App列表INSTALLED_APPS添加App名称。

例如:

INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','index',
]

2. 资源文件配置

在这里插入图片描述

静态资源

静态资源包括CSS文件、JavaScript文件以及图片等资源文件。
可以在setting.py中看到:
在这里插入图片描述
默认情况下,Django只能识别项目应用App的static文件夹里面的静态资源。当项目启动时,Django会从项目应用App里面查找相关的资源文件,查找功能主要由App列表INSTALLED_APPS的staticfiles实现。

若资源路由STATIC_URL的值为/static/,则浏览器访问静态资源的网站必须为static,否则无法访问,并且Django在调试模式(DEBUG=True)下只能识别App目录下的static文件夹

例如:
在这里插入图片描述
127.0.0.1:8000
在这里插入图片描述

由于STATIC_URL的特殊性,在开发中会造成诸多不便,比如将静态文件夹存放在项目的根目录以及定义多个静态文件夹等。这时候就可以用上资源集合STATICFILES_DIRS,将其他静态资源添加进来。
在配置文件settings.py中设置STATICFILES_DIRS属性。该属性以列表的形式表示。

# 设置根目录的静态资源文件夹Mystatic
STATICFILES_DIRS = [BASE_DIR / 'Mystatic',
# 设置App(index)的静态资源文件夹static
BASE_DIR / 'index/static',]

在这里插入图片描述

若将STATIC_URL的值改为Allstatic,则再次重启MyDjango项目并在浏览器上将图片资源路径的static改为Allstatic即可

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

媒体资源

对于一些经常变动的资源,通常将其存放在媒体资源文件夹,如用户头像、歌曲文件等。

# 设置媒体路由地址信息
MEDIA_URL = 'media/'
# 获取media文件夹的完整路径信息
MEDIA_ROOT = BASE_DIR / 'media'

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

from django.contrib import admin
from django.urls import path, re_path
# 导入项目应用index
from index.views import index
# 配置媒体文件夹media
from django.views.static import serve
from django.conf import settings
urlpatterns = [path('admin/', admin.site.urls),path('', index),# 配置媒体文件的路由地址re_path('media/(?P<path>.*)',serve,{'document_root': settings.MEDIA_ROOT}, name='media'),
]

在这里插入图片描述

3. 模板配置

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

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

相关文章

【网络】cookie

cookie 的组成 cookie是浏览器中特有的一个概念&#xff0c;它就像浏览器的专属卡包&#xff0c;管理着各个网站的身份信息。 每个cookie就相当于是属于某个网站的一个卡片&#xff0c;它记录了下面的信息&#xff1a; key: 键&#xff0c;比如「身份编号」value: 值&#x…

vivado Miscellaneous Net-Related Constraints

Miscellaneous Net-Related Constraints KEEP Applied To Nets Constraint Values • TRUE • FALSE UCF Example net x_int KEEP TRUE; XDC Example set_property DONT_TOUCH true [get_nets x_int] SAVE NET FLAG Applied To Nets Constraint Values N/A …

Element-UI快速入门指南

一、引言 在前端开发领域&#xff0c;Vue.js以其简洁的API和灵活的组件系统受到了广泛的欢迎。Element-UI则是一套基于Vue.js 2.0的桌面端组件库&#xff0c;它提供了丰富的组件和友好的API&#xff0c;帮助开发者快速构建出美观且功能强大的Web应用。本文将带你快速入门Eleme…

信号:MSK调制和GMSK调制

目录 一、MSK信号 1. MSK信号的第k个码元 2.MSK信号的频率间隔 3.MSK信号的相位连续性 3.1 相位路径 3.2初始相位ψk 4.MSK信号的产生 原理框图 5.MSK信号的频谱图 二、高斯最小频移键控(GMSK) 1.频率响应 2.GMSK调制产生方式 2.1 高斯滤波器法 2.2 正交调制器法…

海外私人IP和原生IP有什么区别,谁更有优势?

一、什么是海外私人IP&#xff1f;什么是原生IP&#xff1f; 1、海外私人IP&#xff1a; 海外私人IP是由专门的服务提供商提供的IP地址&#xff0c;这些IP地址通常与特定地理位置或国家相关联。这些IP地址独享私人而不用与其他用户共享。海外私人IP广泛应用与跨境电商中&#x…

【Qt】修改QToolButton图标颜色

1. 目的 修改QToolButton的图标颜色&#xff0c;单一颜色&#xff0c;效果类似于Qt Creator左边选项卡。 2. 代码 QIcon MainWindow::setIconColor(QIcon icon, QColor color) {QPixmap pixmap icon.pixmap(QSize(64,64));QPainter painter(&pixmap);painter.setCompo…

DockerK8s

Docker&K8s 1. Docker 1.1 Docker是什么 用于构建容器化平台的软件&#xff0c;进程管理软件&#xff0c;主要用于部署应用程序并守护应用进程。容器是由docker软件启动的业务集成&#xff0c;该进程由docker全权管理。容器是进程&#xff0c;由内核机制来完成容器隔离。…

汇编:函数以及函数参数传递

汇编语言中的函数&#xff08;或过程&#xff09;是指一段可以被调用和执行的代码块&#xff1b;它们用于组织和重用代码&#xff0c;并使程序结构更加清晰&#xff1b;由于汇编语言没有高层次语言的语法糖&#xff0c;编写和调用函数涉及直接的堆栈操作和寄存器管理&#xff1…

c++网络开发笔记

1、第一节 1、阻塞模型 2、非阻塞IO 1)忙等待 2)IO复用模式(select,管理多个文件描述符号) 3)信号驱动IO,通过信号的方式 4)异步模型aio_read 3、select模型 int select(int nfds, fd_set *readfds, fd_set* writefds,fd_set* exceptfds, struct timeval* timeout);n…

Docker打包nginx镜像丢失挂载的配置文件

一般来说&#xff0c;Docker镜像构建过程中&#xff0c;如果没有正确地将配置文件复制到镜像中&#xff0c;那么在运行容器时就会丢失挂载的配置文件。 所以有2种解决办法&#xff1a; 第一种: 将挂载在宿主机上的配置文件复制到镜像中&#xff0c;可以参考这位老铁的文章《D…

多项式重构的平滑和法线估计-------PCL

多项式重构的平滑和法线估计 /// <summary> /// 多项式重构的平滑和法线估计 /// </summary> /// <param name"cloud"></param> /// <returns>输出一个包含平滑后的点云数据以及相应法线信息的数据结构</returns> pcl::PointCl…

28v电源 28V电源系统 28v航空电源系统概述

28V电源是指一种工作电压为28V的直流电源系统&#xff0c;主要用于航空电子、航天、J事和高端工业应用中。它通常用于为复杂的电子设备和系统供电&#xff0c;如飞机上的导航、通信、控制面板、计算机系统等。这些设备需要稳定的电压输入&#xff0c;而28V电压既能够保证电力供…

Docker 存储路径修改教程

简介 Docker 在长时间使用后&#xff0c;可能会因为镜像和容器的积累导致默认存储空间不足。本技术文档将指导您如何安全地将 Docker 的镜像和容器存放路径修改至挂载的磁盘中&#xff0c;以解决空间不足的问题。请确保在操作前&#xff0c;您的目标磁盘已经成功挂载。 查看 …

双向长短期记忆网络(BiLSTM)简介

双向长短期记忆网络&#xff08;Bidirectional Long Short-Term Memory, BiLSTM&#xff09;是一种改进的循环神经网络&#xff08;Recurrent Neural Network, RNN&#xff09;&#xff0c;专门设计用于处理序列数据。BiLSTM 能够通过结合前向和后向两个 LSTM 网络的输出来捕捉…

第12周作业--HLS入门

目录 一、HLS入门 二、HLS入门程序编程 创建项目 1、点击Vivado HLS 中的Create New Project 2、设置项目名 3、加入文件 4、仿真 3、综合 一、HLS入门 1. HLS是什么&#xff1f;与VHDL/Verilog编程技术有什么关系? HLS&#xff08;High-Level Synthesis&#xff0c…

(Askchat.ai、360智脑、鱼聪明、天工AI、DeepSeek)

目录 1、Askchat.ai - 梦想为蓝图&#xff0c;ChatGPT为笔。 2、360智脑 — 以人为本&#xff0c;安全可信 3、鱼聪明AI - 做您强大的AI助手 (yucongming.com) 4、天工AI-搜索、对话、写作、文档分析、画画、做PPT的全能AI助手 (tiangong.cn) 5、DeepSeek | 深度求索 1、Askch…

基于STM32实现智能风扇控制系统

目录 文章主题环境准备智能风扇控制系统基础代码示例&#xff1a;实现智能风扇控制系统 PWM控制风扇速度温度传感器数据读取串口通信控制应用场景&#xff1a;智能家居与环境调节问题解决方案与优化收尾与总结 1. 文章主题与命名 文章主题 本教程将详细介绍如何在STM32嵌入式…

Docker Desktop安装和如何在WSL2中使用Docker

最近在使用WSL的过程中&#xff0c;想使用docker遇到了一些问题&#xff0c;在WSL中安装Linux版本的docker&#xff0c;启动镜像之后不能从Windows机器的端口映射出来&#xff0c;查了一圈之后&#xff0c;发现应该使用Docker Desktop软件&#xff0c;下面是安装和使用的方式 …

[源码+搭建教程]西游伏妖篇手游_GM_单机+和朋友玩

为了学习和研究软件内含的设计思想和原理&#xff0c;本人花心血和汗水带来了搭建教程&#xff01;&#xff01;&#xff01; 教程不适于服架设&#xff0c;严禁服架设&#xff01;&#xff01;&#xff01;请牢记&#xff01;&#xff01;&#xff01; 教程仅限学习使用&…

深入解析自注意力机制(Self-Attention):深度学习中的关键创新

Self-Attention 深入解析自注意力机制&#xff08;Self-Attention&#xff09;&#xff1a;深度学习中的关键创新自注意力机制的起源自注意力机制的工作原理关键组件公式表达 自注意力机制的应用结论 深入解析自注意力机制&#xff08;Self-Attention&#xff09;&#xff1a;深…