Django快速上手

news2024/11/20 18:40:29

Django简介

Django 框架最初的诞生,主要是用来开发和管理 Lawrence Publishing Group(劳伦斯出版集团)旗下新闻网站的一款软件,是一款属于 CMS(Content Management System,内容管理系统)类的软件,并于 2005 年 7 月取得了 BSD 许可证下的发布权限。之后,经过开发人员的不断努力,Django 1.0 版于 2008 年 9 月正式发布。
Django 框架的设计初衷是为了简便、快速地开发出易于维护的数据库驱动型网站,其所独具的代码复用功能,支持将各种组件以“插件”方式嵌入到整个应用框架,从而极大地提高了应用开发的效率。Django 框架自身具有很强大的扩展性,在开源社区中存在有许多功能强大的第三方插件,开发人员可以非常方便地以“即插即用”的方式应用到自己的项目中。

Django 框架也是一个遵循 MVC 设计模式的框架。
不过从严格意义上讲,Django 框架采用了一种更为特殊的 MTV 设计模式,其中的“M”代表模型、“V”代表视图、“T”代表模板。MTV 模式本质上也是基于 MVC 模式的,是从 MVC 模式变化而来的。

MTV 模式的具体内容:

  • M 模型(Model)表示的是数据存取层,处于 MTV 模式的底层。M 模型负责处理与数据相关的所有事务,包括如何存取、如何验证有效性、如何处理数据之间关系等方面的内容。
  • T 模板(Template)表示的是表现层,处于 MTV 模式的顶层。T 模板负责处理与表现相关的操作,包括如何在页面或其他类型文档中进行显示等方面的内容。
  • V 视图(View)表示的是业务逻辑层,处于 MTV 模式的中间层。V 视图负责存取模型及调取适当模板的相关逻辑等方面的内容,是 M 模型与 T 模板之间进行沟通的桥梁。

1、安装(命令安装)

Django可以在cmd命令行中安装,也可以在pycharm中安装,但是pycharm需要专业版,所以我选择命令安装
进入cmd 中

pip install django

因为我有python2和python3 ,我希望安装在python3,需要用下面的命令

py -3 -m pip install django

安装好后在安装目录的Scripts会有django-admin.exe 这个是工具,创建django项目中的文件和文件夹,会有下面文件
在这里插入图片描述

2、创建项目

django中项目会有一些默认的文件 和默认的文件夹。
在cmd终端:

  • 打开终端。
  • 进入某个目录(项目放在哪里)。
F:\myfile\python\code>
  • 执行命令创建项目
    mysite是项目名称
"C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Scripts\django-admin.exe" startproject mysite

默认项目的文件介绍,项目名称为mysite
在这里插入图片描述

3、APP

一个项目可以创建多个app, 可以一个模块一个app,
-项目

  • app, 用户管理[表结构、函数、HTML模板、 css]
  • app, 订单管理[表结构、函数、HTML模板、css]
  • app, 后台管理[表结构、函数、HTML模板、css]
  • app,网站 [表结构、函数、HTML模板、css]
  • app, API [表结构、函数、HTML模板、css]

注意:我们开发比较简洁,用不到多app, - -般情况下,项目下创建1个app即可。

创建app, 进入pycharm, 打开之前通过命令创建的项目,在pycharm的终端执行, 虽然项目是通过命令创建的,创建好后通过pycharm打开

python manage.py startapp app01

或者:

Django-admin startapp app01

或者:

py -3 manage.py startapp app01

在这里插入图片描述

4、快速上手

1、确保app已注册

在项目的djangoproject目录下的settings.py中添加配置,在INSTALLED_APPS的最后添加’app01.apps.App01Config’,

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app01.apps.App01Config',
]

在app01->apps.py中有一个App01Config的类
在这里插入图片描述

2、编写URL和视图函数对应关系[urls.py]

在urls.py中添加下面内容

from django.contrib import admin
from django.urls import path

from app01 import views
urlpatterns = [
    #path('admin/', admin.site.urls),
    #访问XXXX.com/index  -->函数
    path('index/', views.index),

]

index/ 表示路径,在访问的时候 xxxx.com/index/
views.index是要在app01->views.py中添加的函数,将路径和函数绑定

在这里插入图片描述

3、编写视图函数 在app01目录下的【views.py】

from django.shortcuts import render, HttpResponse

# Create your views here.
def index(request):
    return HttpResponse("欢迎使用")

在这里插入图片描述

4、运行项目

正常的执行

python manage.py runserver

但是我的执行这个就报错
在这里插入图片描述
这个应该是我安装了python2和python3的环境,没有使用python3的解释器
我改成下面的,就成功启动了

py -3 manage.py runserver

在这里插入图片描述
访问页面 http://127.0.0.1:8000/index/:
在这里插入图片描述

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

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

相关文章

FANUC机器人SRVO-217故障报警原因分析及参考解决办法

FANUC机器人SRVO-217故障报警原因分析及参考解决办法 如下图所示,示教器提示:SRVO-217紧急停止电路板未找到, 查阅手册可以看到以下的报警说明: 故障原因: 通电时未能识别紧急停止电路板或者增设的安全I/O装置。连接有多个安全I/O装置的系统中,在报警信息的最后,会显示发…

SkyWalking链路追踪-搭建-spring-boot-cloud-单机环境 之《10 分钟快速搭建 SkyWalking 服务》

首先了解一下单机环境 第一步,搭建一个 Elasticsearch 服务。第二步,下载 SkyWalking 软件包。第三步,搭建一个 SkyWalking OAP 服务。第四步,启动一个 Spring Boot 应用,并配置 SkyWalking Agent。第五步,…

测试开源C#人脸识别模块ViewFaceCore(2:人脸关键点定位器和活体检测)

ViewFaceCore模块中的FaceLandmarker类支持识别人脸关键点,也即人脸上的关键位置的坐标,其中主要调用Mark函数返回图片中指定人脸的关键点位置集合,该类需配合FaceDetector类共同使用。   FaceLandmarker类支持识别3种类型的人脸关键点&…

KingFunsion工程开发规范——JS规范

哈喽,大家好,我是雷工。 今天学习KingFunsion工程开发规范之JS规范。 第一章 统一规范 1.1. 一行代码只做一件事; 1.2. 长行拆分; 1.3. 代码块外使用try catch包裹; 1.4. 全局变量在数据词典中定义;…

分析业务团队如何进行技术建设

背景 大部分中大型的互联网公司,会按照一个技术团队 多个业务团队的组织形式。技术团队负责技术基础建设,而业务部门更多的聚焦在业务迭代上。 这种组织形式有其优越性: 可以避免大量重复技术建设 减少上下文,降低沟通成本 …

网络安全 Day20-计算机网络基础知识05(网络原理)

计算机网络基础知识05(网络原理) 1. OSI 模型2. VMware虚拟机NAT模式下上网原理3. 不能上网故障排查 1. OSI 模型 OSI 7层网络通信原理模型 OSI 国际网互联 OSI 数据包封装解封装过程 北京局域网主机A到深圳局域网主机B数据工作流程 2. VMware虚拟机N…

Qt+GDAL开发笔记(一):在windows系统mingw32编译GDAL库、搭建开发环境和基础Demo

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/131931309 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

腾讯云 Cloud Studio 实战训练营——快速构建React完成点餐H5页面

目录 ​编辑 一、前言 1、什么是腾讯云 Cloud Studio 2、本文实验介绍 二、前期准备工作 1、注册 Cloud Studio 2、初始化工作空间 三、开发一个简版的点餐系统页面 1、安装依赖 1.1、安装 antd-mobile 1.2、安装 less 和 less-loader 1.3、暴露 webpack 配置文件 …

Linux JDK 安装详解

安装JDK 1.1 下载jdk压缩包 下载地址: Java Downloads | Oracle Java Downloads | Oracle 下载完成之后上传到服务器 # 1.将JDK解压缩到指定目录 tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/ 注意:-C参数是将JDK解压之后文件放入usr目录中 # 2.进入jdk解压缩目录…

前端Vue仿支付宝自定义可滑动轮播分页宫格菜单组件,可支持九宫格 十二宫格 十五宫格

背景介绍 随着技术的不断发展,传统的开发方式使得系统的复杂度越来越高。在传统开发过程中,一个小小的改动或者一个小功能的增加可能会导致整体逻辑的修改,造成牵一发而动全身的情况。为了解决这个问题,我们采用了组件化的开发模…

SpringBoot+Prometheus+Grafana实现系统可视化监控

场景 SpringBoot中集成Actuator实现监控系统运行状态: SpringBoot中集成Actuator实现监控系统运行状态_springboot actuator 获取系统运行时长_霸道流氓气质的博客-CSDN博客 基于以上Actuator实现系统监控,还可采用如下方案。 Prometheus Prometheu…

EC200U-CN学习(一)

EC200U系列内置丰富的网络协议,集成多个工业标准接口,并支持多种驱动和软件功能(适用于Windows 7/8/8.1/10、Linux和Android等操作系统下的USB驱动),极大地拓展了其在M2M领域的应用范围,如POS、POC、ETC、共…

PMP项目成本管理-控制成本-挣值分析

适用于控制成本过程的数据分析技术包括: 挣值分析 (EVA Earned value analysis) 挣值分析将实际进度和成本绩效与绩效测量基准进行比较。EVM(Earned value Management)把范围基准、成本基准和进度基准整合起来,形成绩效测量基准。它针对每个工作包和控制账户&…

MPAS跨尺度、可变分辨率模式

跨尺度预测模式(The Model for Prediction Across Scales - MPAS)是由洛斯阿拉莫斯实验室和美国国家大气研究中心(NCAR)共同开发,其由3个部分组成,分别称为 MPAS-A(大气模型)、MPAS-O(海洋模型&…

【LeetCode】19.删除链表的倒数第N个结点

题目 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:head [1], n 1 输出:[]示例 3&…

Stable Diffusion - 扩展 SegmentAnything 和 GroundingDINO 实例分割算法 插件的配置与使用

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/131918652 Paper and GitHub: Segment Anything: SAM - Segment Anything GitHub: https://github.com/facebookresearch/s…

HCIA 第二课总结

配置网络设备的明文密钥实验组网 实验拓扑 将一个路由器使用配置口进行连接 sys #进入系统视图模式 sysname RTA #给设备命名 user-interface console 0 #进入用户接口配置界面 authentication-mode password #配置认证模式为密钥认证 set authentication password ciphe…

【优选算法题练习】day8

文章目录 一、974. 和可被 K 整除的子数组1.题目简介2.解题思路3.代码4.运行结果 二、525. 连续数组1.题目简介2.解题思路3.代码4.运行结果 三、560. 和为 K 的子数组1.题目简介2.解题思路3.代码4.运行结果 总结 一、974. 和可被 K 整除的子数组 1.题目简介 974. 和可被 K 整…

Vue3+ElementPlus实际项目快速开发模板Pure Admin

发现了一个超好用的模板项目,不仅有很全面的完整版,还有精简的可以直接拿来用的后台管理框架。文档很全面,甚至有B站配套视频! PureAdmin保姆级文档 vue-pure-admin快速开发教程(使用Vue3、Vite、Element-Plus、TypeScript、Tail…

基于nodejs+vue微信小程序加油站服务管理系统

开发语言 node.js 框架:Express 前端:Vue.js 数据库:mysql 数据库工具:Navicat 开发软件:VScode 基于微信小程序加油站服务 系统分为用户和管理员两个角色 用户微信端的主要功能有: 1.用户注册和登陆小程序 2.用户…