【python】Django——django简介、django安装、创建项目、快速上手

笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~

Django基础——django安装、创建django项目、django快速上手

  • django简介
  • django安装
    • 1. conda创建环境pydjango
    • 2. pip安装django
    • 3. django目录
  • 创建项目
    • 1. 打开终端(cmd)
    • 2. 进入某个目录
    • 3.创建项目命令
    • 4.django项目目录
    • 5.在pycharm中打开项目
    • 5.创建app——application01
  • 快速上手
    • 1.注册应用程序app——application01
    • 2.编写url和视图函数的对应关系【urls.py】
    • 3.编写视图函数【views.py】
    • 4.启动django项目
    • 5.打开django项目
    • 6.退出django项目

django简介

Django 是一个高效、功能强大的 Web 应用程序框架,采用 Python 编写而成。它遵循了 MTV(模型-模板-视图)的软件设计模式,旨在帮助开发者快速构建可维护的 Web 应用程序。

下面是 Django 框架的一些详细介绍:

  1. 模型(Model): Django 的模型层提供了对数据库的抽象和管理。通过定义模型类,开发者可以使用简单的 Python 代码来描述数据结构和关系,并自动映射到底层数据库。这样,开发者可以通过操作模型对象来进行数据库操作,而无需直接编写 SQL 语句。

  2. 视图(View): Django 的视图层负责处理用户请求和生成响应。视图函数或类接收来自用户的请求,并根据业务逻辑进行相应的处理,然后生成并返回响应内容。视图层也负责与模型层和模板层进行交互,以获取和处理数据。

  3. 模板(Template): Django 的模板层负责生成最终的 HTML 响应内容。模板引擎提供了一种简洁而强大的方式来将动态数据插入到静态 HTML 模板中。开发者可以在模板中使用变量、控制结构和过滤器等功能,实现动态生成页面内容的需求。

  4. 表单处理: Django 提供了强大的表单处理功能,开发者可以轻松地创建表单并进行数据验证。框架处理表单的数据验证、错误处理和呈现,大大简化了开发过程。

  5. 认证和授权: Django 提供了内置的用户认证和授权系统,开发者可以轻松地集成用户注册、登录和权限管理等功能。这些功能包括用户身份验证、密码重置、用户组和权限管理等。

  6. 管理界面: Django 自带了一个功能强大且易于使用的管理界面,可以自动生成 CRUD(增删改查)操作的界面。开发者可以通过简单的配置,让管理员轻松管理网站的内容和数据。

  7. 安全性: Django 注重安全性,并提供了许多内置的安全特性来保护应用程序免受常见的 Web 攻击,如跨站脚本攻击(XSS)、跨站请求伪造(CSRF)等。

Django 是一个成熟、全面且易用的 Web 应用程序框架,适用于各种规模的项目。它的设计理念是简洁、高效和可维护性,使开发者能够专注于业务逻辑而无需过多关注底层技术细节。

django安装

1. conda创建环境pydjango

conda create -n pydjango python=3.9

2. pip安装django

pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple

3. django目录

D:\anaconda3\envs\pydjango
	- python.exe
	- Scripts
		- pip.exe
		- django-admin.exe		#工具,创建django项目
	- lib
		- 内置模块
		- site-packages		#第三方模块
			- django		#框架源码
			- 其他模块

创建项目

1. 打开终端(cmd)

2. 进入某个目录

cd F:\PycharmProjects

PycharmProjects为项目所在目录
在这里插入图片描述

3.创建项目命令

django-admin startproject myproject

可能出现报错:
Fatal error in launcher: Unable to create process using ‘“D:\anaconda3\envs\pydjiango\python.exe” “D:\anaconda3\envs\pydjango\Scripts\django-admin.exe” startproject myproject’: ???

解决方法:

python D:\anaconda3\envs\pydjango\Scripts\django-admin.exe startproject DjangoProject

D:\anaconda3\envs\pydjango\Scripts\django-admin.exe为django-admin.exe的路径(根据自己目录更改)

在这里插入图片描述

4.django项目目录

F:\PycharmProjects\DjangoProject(自己创建的django项目路径)
- DjangoProject
	- __init__.py		
	- asgi.py		【异步接受网络请求】【不要改】
	- wsgi.py		【同步接受网络请求】【不要改】
	- urls.py		【url和python函数的对应关系都在这里,操作基本都在这里】【常修改】
	- settings.py	【项目的配置文件】【常修改】
- manage.py			【项目管理:启动项目、创建app、数据管理】【不要改】【常用】

5.在pycharm中打开项目

修改python解释器为conda创建的pydjango
在这里插入图片描述

5.创建app——application01

app不是应用,是功能的划分。简单开发一般用不到多app,项目下创建一个app即可

创建是靠manage.py创建的,终端输入

python manage.py startapp application01

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

F:\PycharmProjects\DjangoProject\application01
- migrations		【固定,不要动】【数据库变更记录】
- admin.py			【固定,不要动】【默认提供admin后台管理】
- apps.py			【固定,不要动】【app启动类】
- models.py			【**重要**】【对数据库操作】
- tests.py			【单元测试】
- views.py			【**重要**】【函数】

快速上手

1.注册应用程序app——application01

在这里插入图片描述
DjangoProject——>settings.py——>INSTALLED_APPS中添加"application01.apps.Application01Config",
在这里插入图片描述

2.编写url和视图函数的对应关系【urls.py】

# application01为应用程序名
from application01 import views	

urlpatterns = [
	# www.xxx.com/index/ ——> 函数
    path("index/", views.index),
]

在这里插入图片描述

3.编写视图函数【views.py】

在视图函数中,request 参数代表用户发送的请求。通过访问 request 对象的属性和方法,你可以获取用户的请求信息,如请求方法、URL、GET 或 POST 参数等。

# application01 ——> views.py
from django.http import HttpResponse


def index(request):		#request为用户发送的请求
    return HttpResponse("欢迎使用!")

在这里插入图片描述

4.启动django项目

  • 命令行启动(必须在pydjango环境)

activate pydjango
python manage.py runserver

在这里插入图片描述

5.打开django项目

在这里插入图片描述
http://127.0.0.1:8000/index/
在这里插入图片描述

6.退出django项目

CTRL-BREAK,没有BREAK键,则使用CTRL-C退出

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

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

相关文章

MS321V/358V/324V低压、轨到轨输入输出运放

MS321V/MS358V/MS324V 是单个、两个和四个低压轨到轨输 入输出运放,可工作在幅度为 2.7V 到 5V 的单电源或者双电源条件 下。在低电源、空间节省和低成本应用方面是最有效的解决方案。 这些放大器专门设计为低压工作( 2.7V 到 5V )…

假冒 Skype 应用程序网络钓鱼分析

参考链接: https://slowmist.medium.com/fake-skype-app-phishing-analysis-35c1dc8bc515 背景 在Web3世界中,涉及假冒应用程序的网络钓鱼事件相当频繁。慢雾安全团队此前曾发表过分析此类网络钓鱼案例的文章。由于Google Play在中国无法访问,许多用户…

2023前端流行的新技术

作为2023年之前的技术水平有限,以下是一些目前为止较为热门的前端开发技术和趋势,这些技术可能在2023年之前进一步发展和普及。 前端程序员可以考虑学习和掌握以下技术: 1.Vue 3和React Hooks:Vue.js和React是目前最受欢迎的JavaS…

软文推广时应该从哪几个角度切入

数字化时代的来临改变了企业推广的方式,软文推广逐渐渗透企业的日常生活中,然而企业想要软文推广行之有效,就需要清晰自己推广的产品和品牌信息,将信息进行明确规划后根据相应的需求进行推广,这也是今天媒介盒子和大家…

Java编程--定时器/线程池/工厂模式/ ThreadPoolExecutor

前言 逆水行舟,不进则退!!! 目录 什么是定时器 实现一个定时器 自己实现一个定时器 什么是线程池 线程池的使用: 什么是工厂模式? 自己实现一个线程池: ThreadPoolExecutor 类…

【设计模式】策略模式

引例 方案一 说明: 不满足OCP,添加新的排序算法或修改某个已有排序算法需要重新编译整个类可复用性差,Sorting类不可被直接复用 方案二 将客户类和算法类分开 说明:Sorting类可复用,但Sorting类仍不满足OCP 方案三…

用户日期格式不一致导致BDC报时间格式不一致问题

问题描述 在做销售开票的功能时用的BDC,业务在测试的时候总是报日期格式不一致的错误,而我自己测的时候却没啥问题,调试的时候发现是我和业务的时间格式不一致(我是YYYYMMDD,他是MMDDYYYY)。 解决方案 用函数CONVERT…

解析浏览器的事件循环机制:理解JavaScript运行时的执行顺序

解析浏览器的事件循环机制:理解JavaScript运行时的执行顺序 前言定义执行顺序异步任务概念:微任务、宏任务宏任务有哪些?微任务有哪些 实例代码与图解 前言 因为防止在多个用户同时在浏览器中操作一个DOM节点所带来的复杂性,故Ja…

管理压力:打工人不难为打工人

写在前面 让时间回到2018年7月末: 事件地点:中国平安办公室 事件经过: 平安产品经理提出一个需求,要求APP开发人员根据用户手机壳自动调整颜色的主题。这个需求被程序员认为是不合理的。双方开始争论,情绪激动&…

【Transformer从零开始代码实现 pytoch版】(五)总架构类的实现

Transformer总架构 在实现完输入部分、编码器、解码器和输出部分之后,就可以封装各个部件为一个完整的实体类了。 【Transformer从零开始代码实现 pytoch版】(一)输入部件:embeddingpositionalEncoding 【Transformer从零开始代…

IP-guard WebServer 命令执行漏洞复现

简介 IP-guard是一款终端安全管理软件,旨在帮助企业保护终端设备安全、数据安全、管理网络使用和简化IT系统管理。在旧版本申请审批的文件预览功能用到了一个开源的插件 flexpaper,使用的这个插件版本存在远程命令执行漏洞,攻击者可利用该漏…

动作捕捉系统通过VRPN与ROS系统通信

NOKOV度量动作捕捉系统支持通过VRPN与机器人操作系统ROS通信,进行动作捕捉数据的传输。 一、加载数据 打开形影动捕软件,加载一段后处理数据。 这里选择一段小车飞机的同步数据。在这段数据里面,场景下包含两个刚体,分别是小车和…

1688商品详情API接口的使用方法、注意事项以及示例代码

1688商品详情API接口使用方法 1688商品详情API接口是1688平台提供的用于获取商品详细信息的接口。通过该接口,您可以获取到商品的ID、名称、价格、销量、评价等信息,从而进行进一步的数据分析和应用开发。本文将介绍1688商品详情API接口的使用方法、注意…

python爬虫top250电影数据

之前看到的,我改了一下,多了很多东西 import requests from bs4 import BeautifulSoup from openpyxl import Workbook from openpyxl.styles import Font import redef extract_movie_info(info):# 使用正则表达式提取信息pattern re.compile(r导演:…

react函数式组件props形式子向父传参

父组件中定义 子组件中触发回调传值 import { useState } from "react"; function Son(params) {const [count, setCount] useState(0);function handleClick() {console.log(params, paramsparamsparamsparamsparamsparams);params.onClick(111)setCount(count 1…

猫罐头怎么选择?精选的5款口碑好的猫罐头推荐!

猫罐头因其成分约80%为水分,对于不喜欢喝水的猫咪来说,正是可以用来补充水分的替代方案。 而近年来市面上也有越来越多讲究食用安全性的猫罐头,像是强调无添加多余加工品、或是不含谷物成分等的商品。但也因为种类过多,让铲屎官容…

k8s系列文章二:集群配置

一、关闭交换分区 # 临时关闭分区 swapoff -a # 永久\关闭自动挂载swap分区 sudo sed -i / swap / s/^\(.*\)$/#\1/g /etc/fstab 二、修改cgroup管理器 ubuntu 系统,debian 系统,centos7 系统,都是使用 systemd 初始化系统的。systemd 这边…

11-13 代理模式

调用者 代理对象 目标对象 代理对象除了可以完成核心任务,还可以增强其他任务,无感的增强 代理模式目的: 不改变目标对象的目标方法的前提,去增强目标方法 分为:静态代理,动态代理 静态代理 有对象->前提需要有一个类,那么我们可以事先写好一个类&a…

擎创动态 | 再获上海区政府肯定,擎创科技被评为年度优秀高新技术企业

11月6日,上海市静安区副区长张慧和市北高新集团总裁陈军一行来到擎创科技调研指导,由擎创科技高管张健和陈莹陪同交流。 陈莹女士首先向副区长一行详细介绍了擎创科技的发展现状、落地实践效益以及未来的规划布局。在公司的成长过程中,得到静…