Django入门,十分钟学会登录网页

我们假定你已经阅读了 安装 Django。你能知道 Django 已被安装,且安装的是哪个版本,通过在命令提示行输入命令

cmd黑窗口运行,不懂cmd百度一下

python -m django --version

如果没出现版本,就是没安装,那么用pip安装一下

python -m pip install Django

创建项目¶

如果这是你第一次使用 Django 的话,你需要一些初始化设置。也就是说,你需要用一些自动生成的代码配置一个 Django project —— 即一个 Django 项目实例需要的设置项集合,包括数据库配置、Django 配置和应用程序配置。

打开命令行,cd 到一个你想放置你代码的目录,然后运行以下命令:

mysite代表项目名,可以自己更改,都是在cmd黑窗口运行

django-admin startproject mysite

这行代码将会在当前目录下创建一个 mysite 目录

  • 最外层的 mysite/ 根目录只是你项目的容器, 根目录名称对 Django 没有影响,你可以将它重命名为任何你喜欢的名称。
  • manage.py: 一个让你用各种方式管理 Django 项目的命令行工具。你可以阅读 django-admin 和 manage.py 获取所有 manage.py 的细节。
  • 里面一层的 mysite/ 目录包含你的项目,它是一个纯 Python 包。它的名字就是当你引用它内部任何东西时需要用到的 Python 包名。 (比如 mysite.urls).
  • mysite/__init__.py:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。如果你是 Python 初学者,阅读官方文档中的 更多关于包的知识。
  • mysite/settings.py:Django 项目的配置文件。如果你想知道这个文件是如何工作的,请查看 Django 配置 了解细节。
  • mysite/urls.py:Django 项目的 URL 声明,就像你网站的“目录”。阅读 URL调度器 文档来获取更多关于 URL 的内容。
  • mysite/asgi.py:作为你的项目的运行在 ASGI 兼容的 Web 服务器上的入口。阅读 如何使用 ASGI 来部署 了解更多细节。
  • mysite/wsgi.py:作为你的项目的运行在 WSGI 兼容的Web服务器上的入口。阅读 如何使用 WSGI 进行部署 了解更多细节。

测试结果

让我们来确认一下你的 Django 项目是否真的创建成功了。如果你的当前目录不是外层的 mysite 目录的话,请切换到此目录,然后运行下面的命令:

意思就是切换到mysite目录,运行下面的命令

python manage.py runserver

你应该会看到如下输出:

Performing system checks...

System check identified no issues (0 silenced).

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

一月 22, 2024 - 15:50:53
Django version 5.0, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

你已经启动了 Django 开发服务器,这是一个用纯 Python 编写的轻量级网络服务器。我们在 Django 中包含了这个服务器,所以你可以快速开发,而不需要处理配置生产服务器的问题 -- 比如 Apache -- 直到你准备好用于生产。

现在是个提醒你的好时机:千万不要 将这个服务器用于和生产环境相关的任何地方。这个服务器只是为了开发而设计的。(我们在网络框架方面是专家,在网络服务器方面并不是。)

服务器现在正在运行,通过浏览器访问 http://127.0.0.1:8000/ 。你将看到一个“祝贺”页面,有一只火箭正在发射。你成功了!

创建投票应用¶

现在你的开发环境——这个“项目” ——已经配置好了,你可以开始干活了。

在 Django 中,每一个应用都是一个 Python 包,并且遵循着相同的约定。Django 自带一个工具,可以帮你生成应用的基础目录结构,这样你就能专心写代码,而不是创建目录了。

项目 VS 应用

项目和应用有什么区别?应用是一个专门做某件事的网络应用程序——比如博客系统,或者公共记录的数据库,或者小型的投票程序。项目则是一个网站使用的配置和应用的集合。项目可以包含很多个应用。应用可以被很多个项目使用。

意思就是一个项目的主系统,和下面的具体应用,就像应用商店和软件的意义

请确定你现在处于 manage.py 所在的目录下,然后运行这行命令来创建一个应用:

cmd进入黑窗口

python manage.py startapp polls

这将创建一个名为 polls 的目录,其布局如下:

polls/
    __init__.py
    admin.py
    apps.py
    migrations/
        __init__.py
    models.py
    tests.py
    views.py

编写第一个视图¶

让我们开始编写第一个视图吧。打开 polls/views.py,把下面这些 Python 代码输入进去:

 

from django.http import HttpResponse


def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

这是 Django 中最简单的视图。如果想看见效果,我们需要将一个 URL 映射到它——这就是我们需要 URLconf 的原因了。

要在 polls 目录中创建一个 URL 配置,请创建一个名为 urls.py 的文件。现在你的应用程序目录应该如下所示:

‘’

在 polls/urls.py 中,输入如下代码:

from django.urls import path

from . import views

urlpatterns = [
    path("", views.index, name="index"),
]

下一步是要在根 URLconf 文件中指定我们创建的 polls.urls 模块。在 mysite/urls.py 文件的 urlpatterns 列表里插入一个 include(), 如下:

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

urlpatterns = [
    path("polls/", include("polls.urls")),
    path("admin/", admin.site.urls),
]

函数 include() 允许引用其它 URLconfs。每当 Django 遇到 include() 时,它会截断与此项匹配的 URL 的部分,并将剩余的字符串发送到 URLconf 以供进一步处理。

我们设计 include() 的理念是使其可以即插即用。因为投票应用有它自己的 URLconf( polls/urls.py ),他们能够被放在 "/polls/" , "/fun_polls/" ,"/content/polls/",或者其他任何路径下,这个应用都能够正常工作。

我们发现上面的代码是 mysite/urls.py找到polls/urls.py 找到 polls/views.py

最后我启动应用

python manage.py runserver

用你的浏览器访问 http://localhost:8000/polls/,你应该能够看见 "Hello, world. You're at the polls index." ,

但是我们不只是为了获取这个,我们还要找到html页面

我们在 mysite/settings.py 进行配置,配置是为了让danjgo快速找到我们的html静态文件

在polls中新建一个文件夹,用来放静态文件

首先我们在mysite中配置路由urls文件,他指向了polls的urls

 

 在polls的urls中配置实际路由

可以看到当你输入   http://127.0.0.1:8000/polls 时访问的就是index

输入  http://127.0.0.1:8000/ index时访问的就是login

在polls的view中配置具体的逻辑,index就是转发到html,login就是在浏览器上显示1111

由于我们有转发,所以增加html 

在polls中的templates增加html文件,名字就叫loginTest.html

action代表点击提交后,我们转到那个网址

现在的逻辑就是我们访问   http://127.0.0.1:8000/polls/ ,他转到这个页面,我们点击提交后,他转到 http://127.0.0.1:8000/polls/index,屏幕显示1111

我们再次启动,尝试一下

python manage.py runserver

 

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

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

相关文章

什么叫特征分解?

特征分解(Eigenvalue Decomposition)是将一个方阵分解为特征向量和特征值的过程。对于一个 nn 的方阵A,其特征向量(Eigenvector)v 和特征值(Eigenvalue) λ 满足以下关系: 这可以写…

vp9协议笔记

vp9协议笔记📒 本文主要是对vp9协议的梳理,协议的细节参考官方文档:VP9协议链接(需要加速器) vp9协议笔记 vp9协议笔记📒1. 视频编码概述2. 超级帧superframe(sz):2. fr…

【码农新闻】浏览器上有趣的 Console 命令,VSCode 插件 FreeWindow......

目录 【码农新闻】浏览器上有趣的 Console 命令,VSCode 插件 FreeWindow...... 浏览器上有趣的 Console 命令VSCode 插件 FreeWindow拖拽竟然还能这样玩!阮一峰 ES6 教程总结学习网站总结与整理买临期食品的年轻人,在向“吃喝内卷”低头文章所属专区 码农新闻 欢迎各位编程大…

100T数据存进服务器分几步?

大家好,我是豆小匠。 这期来聊聊数据存储相关的问题,包括: 容量评估。技术选型。容灾处理。 另外,文末赠送免费定制红包封面哦! 1. 容量评估 通过对容量&性能的评估,可以把业务需求转化成技术语言描…

Mysql数据库DQL查询语言之表连接(联合查询)

表连接 关系字段:两表中有关联关系的字段 \关系字段:两表之间存在关系的字段 什么是表连接? 当我们的查询结果需要从多张表中获取时,此时应该让表之间建立连接,同时获取数据 内连接 特点:同时对连接双方做…

SpringBoot集成mybatis时idea控制台中文乱码问题解决

在application.yml中配置好映射文件打印数据库日志文件时,控制台出现乱码的情况解决如下 问题 在执行查询操作的时候,查询时可以查看是没有问题的,但是控制台乱码了 解决 在File-Setting-Editor-File Encodings中设置如图所示就可以了 现在…

打 jar 包运行 在windows 平台控制台和日志 乱码解决

--拒絕鷄巴囉嗦,直接解決問題 我们在Windows下运行jar包时,常常会出现乱码,主要分为dos窗口输出的日志中出现乱码和程序返回数据出现乱码。 dos窗口输出的日志中出现乱码 执行如下命令,将控制台输出编码改为UTF8: ch…

c++文件操作(2)-- 按照指定格式读写文件

目录 按照指定格式写文件 代码说明: 按照指定格式读文件 -- 解析一定格式的字符串 代码说明: 注意: 问: 为什么使用getline()? 按照指定格式写文件 在实际开发中,我们以一定的格式写入文件当中。 其实就是使用stringstream类对…

【vite】找不到模块“vite”或其相应的类型声明

今天在用vite搭建项目时,在vite.config.ts文件中 ts报错找不到模块“vitejs/plugin-vue”或其相应的类型声明。 原因:项目中缺少了相应的依赖包或 TypeScript 类型声明。可以按照以下步骤进行检查: 1. 确保安装了相应的依赖包 如果在pack…

Unity中URP下获取额外灯数量

文章目录 前言一、SimpleLit下额外灯数量的获取1、在 SimpleLit 下,先获取了额外灯的数量2、对其进行循环计算每一个额外灯3、GetAdditionalLightsCount在这里插入图片描述 二、GetAdditionalLightsCount实现了什么1、_AdditionalLightsCount.x2、unity_LightData.y…

Tarjan 算法(超详细!!)

推荐在 cnblogs 上阅读 Tarjan 算法 前言 说来惭愧,这个模板仅是绿的算法至今我才学会。 我还记得去年 CSP2023 坐大巴路上拿着书背 Tarjan 的模板。虽然那年没有考连通分量类似的题目。 现在做题遇到了 Tarjan,那么,重学,开…

防御课程—华为USG6000V1的配置实验(一)

实验拓扑: 实验分析 由实验拓扑图需求分析可知我们在生产区和办公区需要用到子接口技术 实验配置 在Cloud1上配置 在DMZ区域配置 在server1上配置在server2上配置在防火墙上进行的配置 由实验拓扑图可知防火墙与DMZ区域相连的接口为GigabitEthernet1/0/0接口 …

初识SpringBoot

SpringBoot以约定大于配置的核心思想,默认帮我们进行了很多设置,简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架 。 创建的包一定要在项目主程序入口…

【排序算法】C语言实现归并排序,包括递归和迭代两个版本

文章目录 🚀前言🚀归并排序介绍及其思想🚀递归实现🚀迭代实现 🚀前言 大家好啊!阿辉接着更新排序算法,今天要讲的是归并排序,这里阿辉将讲到归并排序的递归实现和迭代实现&#xff…

CPU中的算术逻辑单元(ALU)

ALU有2个单元,1个算术单元和1个逻辑单元 算数单元 1 bit加法 半加器 由一个异或门(XOR)和与门(AND)两个逻辑门构成,异或门表示无进位加法(sum),而与门表示进位&…

k-Wave仿真例程:创建超声换能器并绘制声场分布

k-Wave介绍 k-Wave软件是为了模拟超声波在1D、2D或3D中的传播。 应用示例包括: - 均匀和非均匀介质中的传播 - 模拟各种类型的传感器 - 模拟多普勒效应 - 衍射、折射和反射 - 光声、超声成像 - 波束合成、成像重建 - 模拟弹性波 安装k-Wave 安装k-Wave需要几个步…

基于springboot+vue的小徐影城管理系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

移动端测试如何学,超详细的APP测试攻略送上

前言 随着手机应用市场发展的逐渐成熟,手机APP已经渗透到人们的吃穿住行生活,比如手机支付APP、通讯APP、各大应用软件等,关于手机APP安全性能的重要性不言而喻。 鉴于此,做好手机APP测试对于软件开发方把控产品质量有着重要意义…

计算机408真的很难吗❓|深度分析+实操上岸规划

在下面这篇文章中,LUCEN详细分析了24考研的难度以及25考研人该怎么办 24考研计算机很难!25考研你就这么干 如果你对于计算机考研择校有任何疑问,那么下面这篇文章一定能够帮助你: 计算机择校指南,内含300所院校 如…

Linux命令-top

1、top命令简介 top命令是linux系统常用命令之一,能够实时显示系统各个进程的资源占用情况,类似于windows系统的任务管理器。 需要注意的是:top命令监控的最小单位是进程,如果想监控更小单位时,就需要用到ps或者nets…