Django快速上手

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/:
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

面试典中典之线程池的七大参数

文章目录 一、七大元素解释1.corePoolSize(核心线程数):2.maximumPoolSize(最大线程数):3.keepAliveTime(线程空闲时间):4.unit(时间单位)&#x…

Python 进阶(六):文件读写(I/O)

❤️ 博客主页:水滴技术 🌸 订阅专栏:Python 入门核心技术 🚀 支持水滴:点赞👍 收藏⭐ 留言💬 文章目录 1. 打开文件2. 读取文件2.1 逐行读取文件2.2 读取所有行 3. 写入文件3.1 向文件中写入…

开放麒麟1.0发布一个月后,到底怎么样?另一款操作系统引发热议

具有里程碑意义 7月5日,国产首个开源桌面操作系统“开放麒麟1.0”正式发布。 标志着我国拥有了操作系统组件自主选型、操作系统独立构建的能力,填补了我国在这一领域的空白。 举国欢庆,算的上是里程碑意义了! 发布后用着如何&a…

回归预测 | MATLAB实现WOA-ELM鲸鱼算法优化极限学习机多输入单输出回归预测

回归预测 | MATLAB实现WOA-ELM鲸鱼算法优化极限学习机多输入单输出回归预测 目录 回归预测 | MATLAB实现WOA-ELM鲸鱼算法优化极限学习机多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现WOA-ELM鲸鱼算法优化极限学习机多输入回归预测&#…

2.获取DOM元素

获取DOM元素就是利用JS选择页面中的标签元素 2.1 根据CSS选择器来获取DOM元素(重点) 2.1.1选择匹配的第一个元素 语法: document.querySelector( css选择器 )参数: 包含一个或多个有效的CSS选择器 字符串 返回值: CSS选择器匹配的第一个元素,一个HTMLElement对象…

分享一个赛车动画

先看效果&#xff08;动画太大了放不上来&#xff0c;甘心去复制代码运行即可&#xff09;&#xff1a; 再看代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>赛车</title><…

一些网络知识总结(自用)

一些网络知识总结&#xff08;自用&#xff09; 1. 进制的转换 所有进制转换成十进制就是把字面值*权数 比如16进制 5AEF 转成10机制话就是 1* 151614321064 * 5 2. ip地址网段的概念&#xff0c;可用ip&#xff0c;广播地址 比如一个ip为10.1.1.1/24那么他的网络号就是前…

vue表单筛选

目录 筛选 HTML scss* filterComp 排序 表格 自定义数据样式 inner-table 分页 删除 default-modal 自定义元素的插槽-占位符 .search-wrap {height: 60px;display: flex;align-items: center;overflow: hidden;padding: 0 20px;.selected-options-wrap {flex: 1;.…

绝对定位的遮挡

<ul class"slide-nav leftfix"><li><!-- 一级菜单 --><a href"#">手机/运营商/数码</a><!-- 二级菜单 --><div class"second-menu"></div></li><li><a href"#">电…

TCP三次握手和四次挥手以及11种状态(二)

11种状态 1、一开始&#xff0c;建立连接之前服务器和客户端的状态都为CLOSED&#xff1b; 2、服务器创建socket后开始监听&#xff0c;变为LISTEN状态&#xff1b; 3、客户端请求建立连接&#xff0c;向服务器发送SYN报文&#xff0c;客户端的状态变味SYN_SENT&#xff1b; 4、…

操作系统_进程与线程(四)

目录 4. 死锁 4.1 死锁的概念 4.1.1 死锁的定义 4.1.2 死锁产生的原因 4.1.3 死锁的处理策略 4.2 死锁预防 4.3 死锁避免 4.3.1 系统安全状态 4.3.2 银行家算法 4.3.2.1 数据结构描述 4.3.2.2 银行家算法描述 4.3.2.3 安全性算法 4.3.3 安全性算法举例 4.3.4 银行…

【网络】应用层——HTTP协议

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《网络》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; &#x1f3c0;认识HTTP协议 上篇文章中&#xff0c;本喵带着大家对HTTP有了一个初步的认识&#xff0…

大家做性能测试都用什么工具

在进行测试时&#xff0c;选择适合的测试工具至关重要&#xff0c;因为优秀的测试工具能够显著提高工作效率。对于性能测试和自动化测试而言&#xff0c;大多数人会选择传统的JMeter等工具&#xff0c;然而这些工具存在学习成本高、使用门槛高的问题。 因此&#xff0c;我在这…

Mr. Cappuccino的第52杯咖啡——Mybatis环境搭建与使用

Mybatis环境搭建与使用 Mybatis介绍Mybatis环境搭建与使用基于XML方式-原生方式开发创建数据库表项目准备项目结构项目代码实体类中添加有参构造方法产生的问题 基于XML方式-mapper代理开发项目准备项目结构项目代码SQL映射文件中namespace未设置为接口全限定名产生的问题 基于…

IO进程线程day3(2023.7.31)

一、Xmind整理&#xff1a; 文件描述符概念&#xff1a; 二、课上练习&#xff1a; 练习1&#xff1a;用fread和fwrite实现文件拷贝 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <head.h> int main(int argc, const char…

Chapter 9: Lists | Python for Everybody 讲义笔记_En

文章目录 Python for Everybody课程简介ListsA list is a sequenceLists are mutableTraversing a listList operationsList slicesList methodsDeleting elementsLists and functionsLists and stringsParsing linesObjects and valuesAliasingList argumentsDebuggingGlossar…

Windows10系统还原操作

哈喽&#xff0c;大家好&#xff0c;我是雷工&#xff01; 复制了下虚拟机的Win10系统&#xff0c;但其中有一些软件&#xff0c;想实现类似手机的格式化出厂操作&#xff0c;下面记录Windows10系统的还原操作。 一、系统环境&#xff1a; 虚拟机内的Windows10&#xff0c;64…

R730服务器用光盘安装系统(Esxi系统)

准备阶段&#xff1a;dell R730服务器&#xff0c;本教程一般适用于dell所有服务器&#xff0c;移动光盘&#xff0c;光碟做好镜像系统。在这里我安装的系统是Esxi系统&#xff0c;其他操作系统类似&#xff0c;只是安装的步骤不一样而已。 1、将系统盘插入光驱(移动光盘)&…

测试|自动化测试(了解)

测试|自动化测试&#xff08;了解&#xff09; 1.什么是自动化测试☆☆☆☆ 自动化测试相当于把人工测试手段进行转换&#xff0c;让代码执行。 2.自动化测试的分类☆☆☆☆ 注&#xff1a;这里只是常见的自动化测试&#xff0c;并不全部罗列。 1.单元自动化测试 其中Java…

3分钟学会设计模式 -- 单例模式

►单例模式 ►使用场景 在编写软件时&#xff0c;对于某些类来说&#xff0c;只有一个实例很重要。例如&#xff0c;一个系统中可以存在多个打印任务&#xff0c;但是只能有一个正在工作的任务&#xff1b;一个系统中可以多次查询数据库&#xff0c;但是只需要一个连接&#x…