Python Django 框架 01

1. 以新闻内容为主的网站-Django。CMS

  1. 查看django官方网站。
  2. 查看django源码。
  3. 查看中文文档。
  4. 对于Django框架遵循MVC设计,并且有个专用名字:MVT。

model 只适用于关系型数据库。

建议使用谷歌浏览器。

  1. Django环境配置
    1. python 环境

因为Django是需要Python的环境,所以首先下载python,我这里使用的Anaconda 安装的python。

使用Anaconda安装python可以看这篇博客:pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。

python --version

2. Django环境

需要安装全局Django

pip install django

查看版本

python -m django --version

  1. 创建Django项目
    1. 创建项目door_web_django_system

进入到你想要创建django项目的路径,door_web_django_system代表你的项目名,输入命令

django-admin startproject door_web_django_system

    1. 运行启动

进入到 door_web_django_system 项目,

cd door_web_django_system

运行项目

python manage.py runserver

按照上面爆红的提示执行命令

python manage.py migrate

然后再次执行运行命令

python manage.py runserver,结果如下:

浏览器打开http://localhost:8000/如下所示,代表Django项目创建并运行成功

3. Django项目介绍 

 

  1. 介绍Django项目结构

(记得从终端中把项目关闭,后面可以从pycharm的终端中启动,比较方便)

首先使用pycharm打开。

找到设置,配置python环境,我的如下图所示

项目下面有个主包,和项目名同名,这里一般主要作为项目的配置包,不在这里写业务逻辑。

  • urls.py: 主路由的跳转
  • settings.py:项目的配置文件,包括mysql的配置等等
  • asgi.py:
  • wsgi.py:
  1. 第一个helloword

主包中创建 views.py,内容如下

from django.http import HttpResponse def hello_world(request): return HttpResponse("Hello, World!")

urls.py 中内容如下:

from django.contrib import admin from django.urls import path from . import views urlpatterns = [ path("admin/", admin.site.urls), path('hello/', views.hello_world) ]

运行项目,在浏览器输入http://localhost:8000/hello/,返回的字符串helloword如下所示,这样一个web服务器搭建好啦

  1. django的项目逻辑(和java对标)
  • urls.py: 存放的是项目对外暴露的url请求,对应于java项目的controller层
  • views.py: 存放的是项目的业务逻辑层和操作数据库,对应于java项目的services和dao层。
  • models.py:存放的是对象实例,对应于mysql的表,Django中可以通过models中的对象类自动创建mysql中的表。对应于java中的bean,POJO类。
  • 4. 创建Django应用

介绍

主包是和项目同名的一个包,一般只用来做配置使用。

一般会创建其他的包,然后主要写业务逻辑。

创建应用app01

进入djangoDemo目录,运行命令:(使用pycharm,可以在终端直接执行命令)

python manage.py startapp app01

然后需要在主包的 setting.py 中挂载刚刚创建的应用 app01

如果不挂载,在后面执行命令 python manage.py makemigrations时,会出现如下问题。该命令的使用时在第二章里学习使用。

app01的helloword

  1. app01中的views.py

from django.shortcuts import render from django.http import HttpResponse def hello_world(request): return HttpResponse("app01 Hello, World!")

  1. app01中的 urls.py

from django.urls import path from . import views urlpatterns = [ path('hello/', views.hello_world) ]

  1. 主包中的 urls.py 增加了最后一行。

from django.contrib import admin from django.urls import path, include from . import views urlpatterns = [ path("admin/", admin.site.urls), path('hello/', views.hello_world), path('app01/', include('app01.urls')) ]

4. 运行项目python .\manage.py runserver,浏览器运行下面两个url地址。

http://localhost:8000/hello/。

http://localhost:8000/app01/hello/。截图如下,说明应用创建成功。

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

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

相关文章

Leetcode每日刷题之面试题01.02判断是否互为字符重排(C++)

1. 题目解析 本题判断的是两个字符串,其中一个字符串变换顺序是否可以变化为第二个字符串,即重排后是否为同一字符串 2. 算法原理 这里我的思路是直接统计两字符串中字符出现的次数,然后直接比较即可,我使用了范围for以及字符ASCI…

【系统架构设计】系统性能评价

【系统架构设计】系统性能评价 性能指标对计算机对网络对操作系统对数据库管理系统对Web服务器 性能计算MIPS(百万条指令/秒)计算方法峰值计算等效指令速度 性能设计性能评估 性能指标 对计算机 时钟频率(主频) 指计算机处理器的时钟频率,…

2024 D^3CTF pwn(d3note write_flag_where D3BabyEscape pwnshell)

文章目录 d3note libc 2.37源码exp write_flag_where glibc 2.38源码改scanf利用 改write D3BabyEscape源码exp pwnshellphp堆源码exp d3note libc 2.37 源码 index越界,show也没有检查,直接打印,这里找到got表,直接开搜就行 然后…

asp.net core 调用wps实现word转pdf

安装wps https://www.wps.cn/ 创建.net core控制项目 添加com引用,搜索wps 准备word,名字叫001.docx word转pdf 编写代码 namespace WPSStu01 {internal class Program{static void Main(string[] args){Console.WriteLine("转化开始&q…

日撸Java三百行(day24:二叉树的建立)

目录 一、分析准备 二、代码实现 1.方法创建 2.数据测试 3.完整的程序代码 总结 一、分析准备 在日撸Java三百行(day22:二叉树的存储)中,我们学习的是如何将链表二叉树转换为顺序表二叉树进行存储,而今天我们要…

一套完整的NVR方案与部分NVR录像机GUI源码剖析

一、部分功能展示 1.1 通道管理部分 在NVR系统中,通道管理是核心功能之一。通过通道管理,用户可以对连接的摄像头进行配置和监控。 通道连接使能:用户可以选择开启或关闭特定通道的连接功能,以实现灵活的设备管理。 时间同步&…

Kali Linux 三种网络攻击方法总结(DDoS、CC 和 ARP 欺骗)

一、引言 在当今数字化的时代,网络安全成为了至关重要的议题。了解网络攻击的方法和原理不仅有助于我们增强防范意识,更是网络安全领域专业人员必备的知识。Kali Linux 作为一款专为网络安全专业人员和爱好者设计的操作系统,提供了丰富的工具…

VideoPlayer插件的用法

文章目录 1. 概念介绍2. 使用方法2.1 实现步骤2.2 具体细节 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何获取文件类型"相关的内容,本章回中将介绍如何播放视频.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 播放视频是我们常用…

Windows11下wsl闪退的解决

wsl闪退 1. 原因分析 解释:WSL(Windows Subsystem for Linux)闪退通常指的是在Windows操作系统中运行的Linux环境突然关闭。这可能是由于多种原因造成的,包括系统资源不足、WSL配置问题、兼容性问题或者是Linux内核的问题。&…

【Python学习-UI界面】PyQt5 小部件13-Slider 拖动条

高级布局管理器,允许通过拖动边界来动态改变子小部件的大小。 Splitter控件提供一个手柄,可以拖动以调整控件的大小 样式如下: 常用方法如下: 序号方法描述1addWidget将小部件添加到拆分器的布局中2indexOf返回布局中小部件的索引3insetW…

MySQL架构与数据库基础

文章目录 一、数据库概念二、数据库的简单概念三、SQL四、MySQL架构 一、数据库概念 数据库是一个以某种由组织的方式存储的数据集合。我们可以把数据库想象称为一个文件柜。此文件柜是一个存放数据的物理位置,不管数据是什么以及如何组织的。数据库本质也需要像文…

EMC学习笔记2——电磁兼容问题分析

分析一个电磁兼容问题一般从三方面入手,分别是骚扰源、敏感源、耦合路径。解决掉其中一个问题,就能解决大部分的电磁兼容问题。 例如:当骚扰源是雷电时,敏感源是电子线路时,我们需要消除的就是耦合电路。 耦合路径就是…

LLM - 微调(Fine-Tuning) Llama3 以及合并微调模型 教程

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/141218047 在微调 Llama3 大模型时,需要注意一些事项: 合适的预训练模型:不同的预训练模型具有不同的特点和适…

Java 操作 Redis和redis持久化

一、Jedis 我们要使用 Java 来操作 Redis&#xff0c;Jedis 是 Redis 官方推荐的 java连接开发工具&#xff01; 使用Java 操作 Redis 中间件&#xff01; 1.导入对应的依赖 https://mvnrepository.com/artifact/redis.clients/jedis <dependency><groupId>redi…

Keycloak中授权的实现-转载

在Keycloak中实现授权&#xff0c;首先需要了解与授权相关的一些概念。授权&#xff0c;简单地说就是某个&#xff08;些&#xff09;用户或者某个&#xff08;些&#xff09;用户组&#xff08;Policy&#xff09;&#xff0c;是否具有对某个资源&#xff08;Resource&#xf…

CAN总线详解-理论知识部分

目录 CAN总线简介 CAN总线硬件电路 CAN电平标准 CAN收发器 ​编辑 CAN物理层特性 CAN总线帧格式 数据帧 数据帧格式 数据帧发展历史 遥控帧 错误帧 过载帧 帧间隔 位填充 波形实例 CAN总线接收方数据采样 接收方数据采样遇到的问题 位时序 硬同步 再同步 波…

Cesium.js:webGIS领域的翘楚,开源全球地理空间数据可视化框架.

说起数据可视化/数字孪生开发&#xff0c;少不了webGIS&#xff0c;聊起webGIS不得不提大名鼎鼎的Cesium.js框架。 CesiumJS是一个用于创建地理空间应用程序的开源JavaScript库。它提供了丰富的地图和地理空间数据的可视化功能&#xff0c;可以用于构建基于地理位置的3D地图、…

nvm介绍、下载、安装、配置及使用

一、背景 在工作中&#xff0c;我们可能同时在进行2个或者多个不同的项目开发&#xff0c;每个项目的需求不同&#xff0c;进而不同项目必须依赖不同版本的NodeJS运行环境&#xff0c;这种情况下&#xff0c;对于维护多个版本的node将会是一件非常麻烦的事情&#xff0c;nvm就…

go语言源码解读之数据结构堆

概述 堆(heap)&#xff0c;是一种计算中常用的数据结构。本文我们将探讨对的特性、实现细节以及实际应用场景。 基本概念 堆是一种特殊的完全二叉树。堆分为大顶堆与小顶堆。 大顶堆的特点是&#xff0c;父节点的值总是大于或等于其子节点的值。 小顶堆的特点是&#xff0c…

DVWA-IDS测试(特殊版本)

起因 浏览DVWA历史更新记录发现有版本带有IDS插件&#xff0c;可以用于平时没有相关设备等场景演示用&#xff0c;所以开启本次测试。 下载 官方最新版本是移除了IDS插件&#xff0c;原因是“从不使用”&#xff0c;所以需要下载移除该插件之前的版本。 https://github.com/…