Python核心技术,Django学习基础入门教程(附环境安装包)

news2025/3/3 6:03:04

文章目录

  • 前言
  • 1. 环境准备
    • 1.1Python安装
    • 1.2选择Python开发环境
    • 1.3 创建虚拟环境
    • 1.4 安装 Django
  • 2. 创建 Django 项目
  • 3. Django项目结构介绍
  • 4. 启动开发服务器
  • 5. 创建 Django 应用
  • 6. 应用结构介绍
  • 7. 编写视图函数
  • 8. 配置 URL 映射
  • 9. 运行项目并访问视图
  • 10. 数据库配置与模型创建
    • 10.1 数据库配置
    • 10.2 创建模型
  • 11. 使用 Django 管理界面
    • 11.1 创建超级用户
    • 11.2 注册模型到管理界面
  • 11.3 访问管理界面
  • 12. 模板与视图结合
    • 12.1 创建模板目录
    • 12.2 修改视图函数
    • 12.3 访问模板页面


前言

Django 是一个高级 Python Web 框架,它遵循 MVC(Model - View - Controller)架构模式的变种 MVT(Model - View - Template),可以帮助开发者快速构建安全且可扩展的网站。以下是一份 Python Django 学习基础入门教程。


1. 环境准备

1.1Python安装

访问 Python 官方网站,根据你的操作系统(Windows、Mac 或 Linux)下载并安装 Python 3.x 版本。安装时勾选 “Add Python to PATH”,方便在命令行中使用 Python。

Python 3.7安装教程:https://blog.csdn.net/u014164303/article/details/145620847
Python 3.9安装教程:https://blog.csdn.net/u014164303/article/details/145570561
Python 3.11安装教程:https://blog.csdn.net/u014164303/article/details/145549489

Python 3.7下载地址:https://pan.quark.cn/s/8268bf81f31f
Python 3.9下载地址:https://pan.quark.cn/s/9711a93276ad
Python 3.11下载地址:https://pan.quark.cn/s/9c44793cb24c

1.2选择Python开发环境

PyCharm 社区版(免费)或专业版(需付费或申请教育版)。安装完成后,打开 PyCharm,创建一个新的项目,在项目设置中选择之前创建的虚拟环境作为项目的 Python 解释器。PyCharm 功能强大,提供代码自动补全、调试等功能,适合开发大型项目。

Pycharm安装教程:https://blog.csdn.net/u014164303/article/details/145674773
PyCharm下载地址:https://pan.quark.cn/s/5756c8cf8b2a

1.3 创建虚拟环境

为了避免不同项目之间的依赖冲突,建议使用虚拟环境。在命令行中执行以下操作:

# 创建虚拟环境
python -m venv myenv

# 激活虚拟环境(Windows)
myenv\Scripts\activate

# 激活虚拟环境(Linux/Mac)
source myenv/bin/activate

1.4 安装 Django

在激活的虚拟环境中,使用 pip 安装 Django:

pip install django

2. 创建 Django 项目

在命令行中,使用以下命令创建一个新的 Django 项目:

django-admin startproject myproject

这将创建一个名为 myproject 的目录,其中包含了 Django 项目的基本结构。进入项目目录:

cd myproject

3. Django项目结构介绍

创建项目后,Django 会生成如下基本目录结构:

myproject/
│
├── myproject/
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   ├── asgi.py
│   └── wsgi.py
└── manage.py
  • manage.py:一个命令行工具,用于与 Django 项目进行交互,例如启动开发服务器、创建数据库表等。
  • myproject/settings.py:项目的配置文件,包含数据库连接、静态文件路径、中间件等配置信息。
  • myproject/urls.py:项目的 URL 配置文件,用于将 URL 映射到相应的视图函数。
  • myproject/asgi.py:用于 ASGI 服务器的入口点,处理异步请求。
  • myproject/wsgi.py:用于 WSGI 服务器的入口点,处理同步请求。

4. 启动开发服务器

在项目目录下,运行以下命令启动 Django 开发服务器:

python manage.py runserver

打开浏览器,访问 http://127.0.0.1:8000,如果看到 Django 的欢迎页面,说明项目已经成功启动。

5. 创建 Django 应用

在 Django 中,项目可以包含多个应用,每个应用负责不同的功能。使用以下命令创建一个新的应用:

python manage.py startapp myapp

这将创建一个名为 myapp 的目录,包含应用的基本结构。

6. 应用结构介绍

myapp 目录的基本结构如下:

myapp/
│
├── __init__.py
├── admin.py
├── apps.py
├── migrations/
│   └── __init__.py
├── models.py
├── tests.py
└── views.py
  • models.py:定义应用的数据模型,与数据库表对应。
  • views.py:定义处理请求并返回响应的视图函数。
  • admin.py:用于配置 Django 自带的管理界面。
  • tests.py:编写应用的测试代码。

7. 编写视图函数

打开 myapp/views.py 文件,编写一个简单的视图函数:

from django.http import HttpResponse

def hello(request):
    return HttpResponse("Hello, Django!")

8. 配置 URL 映射

打开 myapp 目录下的 urls.py 文件(如果没有则创建),添加以下代码:

from django.urls import path
from . import views

urlpatterns = [
    path('hello/', views.hello, name='hello'),
]
然后在项目的 myproject/urls.py 文件中包含 myapp 的 URL 配置:
python
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls')),
]

9. 运行项目并访问视图

确保开发服务器正在运行,如果没有运行,使用 python manage.py runserver 启动。打开浏览器,访问 http://127.0.0.1:8000/hello/,你将看到页面显示 Hello, Django!。

10. 数据库配置与模型创建

10.1 数据库配置

打开 myproject/settings.py 文件,配置数据库连接信息。默认情况下,Django 使用 SQLite 数据库,如果你想使用其他数据库(如 MySQL、PostgreSQL),需要进行相应的配置。

10.2 创建模型

在 myapp/models.py 文件中定义一个简单的模型:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=100)

    def __str__(self):
        return self.title

10.3 迁移数据库
在命令行中执行以下命令创建数据库表:

python manage.py makemigrations
python manage.py migrate

11. 使用 Django 管理界面

11.1 创建超级用户

在命令行中执行以下命令创建超级用户:
bash
python manage.py createsuperuser
按照提示输入用户名、邮箱和密码。

11.2 注册模型到管理界面

打开 myapp/admin.py 文件,注册 Book 模型:

from django.contrib import admin
from .models import Book

admin.site.register(Book)

11.3 访问管理界面

启动开发服务器,打开浏览器,访问 http://127.0.0.1:8000/admin/,使用之前创建的超级用户账号登录,你可以在管理界面中对 Book 模型进行增删改查操作。

12. 模板与视图结合

12.1 创建模板目录

在 myapp 目录下创建一个名为 templates 的目录,在 templates 目录下再创建一个与应用名相同的目录 myapp,在 myapp 目录下创建一个 hello.html 文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello</title>
</head>
<body>
    <h1>{{ message }}</h1>
</body>
</html>

12.2 修改视图函数

打开 myapp/views.py 文件,修改 hello 视图函数:

from django.shortcuts import render

def hello(request):
    context = {'message': 'Hello, Django with template!'}
    return render(request, 'myapp/hello.html', context)

12.3 访问模板页面

启动开发服务器,打开浏览器,访问 http://127.0.0.1:8000/hello/,你将看到页面显示 Hello, Django with template!。

通过以上步骤,你已经完成了 Django 项目的基础入门学习。接下来,你可以继续深入学习 Django 的其他功能,如表单处理、用户认证、缓存等。

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

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

相关文章

爬虫系列之【数据解析之正则】《二》

目录 前言 一、正则基本使用 1.1 导包 1.2 接口方法 1.3 换行匹配问题 二、实战案例 完整代码 前言 在爬虫工作中&#xff0c;我们主要会遇到两种类型的文本数据&#xff1a; JSON格式数据 HTML文档数据 对于JSON字符串数据&#xff0c;通常使用Python的字典操作进行键…

RFID工具柜DW-G104R|智能存储,便捷高效

一、行业背景 RFID智能工具柜&#xff08;DW-G104R&#xff09;RFID工具管理柜是一种结合RFID技术和智能柜设备的新型工具管理设施&#xff0c;通过自动化管理可以提高工具管理的效率和准确性。 在工业生产中&#xff0c;工具柜是工具存储和管理的重要设备。传统工具柜存在管…

Linux软连接与时区日期

软连接 使用ln命令创建软连接。 在系统中创建软连接&#xff0c;可以将文件&#xff0c;文件夹连接到其他为止。 类似于Windows系统的快捷方式。 语法&#xff1a;ln -s 参数1 参数2 -s选项&#xff0c;创建软连接。 参数1&#xff0c;被链接的文件或文件夹。 参数2&#xff0…

2024 ChatGPT大模型技术场景与商业应用视频精讲合集(45课).zip

2024ChatGPT大模型技术场景与商业应用视频精讲合集&#xff0c;共十三章&#xff0c;45课。 01. 第一章 ChatGPT&#xff1a;通用人工智能的典范 1.1 ChatGPT概述 .mp4 1.2 通用能力 .mp4 1.3 通用人工智能风口 .mp4 02. 第二章 大模型&#xff1a;ChatGPT的核心支撑 2.1 底层…

HTTP四次挥手是什么?

四次挥手&#xff0c;这是TCP协议用来关闭连接的过程。四次挥手是确保两个主机之间能够安全、可靠地关闭连接的重要机制。我会用简单易懂的方式来讲解&#xff0c;帮助你理解它的原理和过程。 1. 什么是四次挥手&#xff1f; 定义 四次挥手是TCP协议用来关闭连接的过程。它通…

人工智能之数学基础:线性代数中的特殊矩阵

本文重点 矩阵是数学中一个重要的工具,在各个领域都有广泛的应用。其中,一些特殊矩阵由于具有独特的性质,在特定的问题中发挥着关键作用。 单位矩阵 单位矩阵是一种特殊的方阵,在矩阵乘法中起到类似于数字 “1” 的作用。对于一个的单位矩阵,其主对角线元素全为 1,其余…

Linux篇——工具

在有了前面的基础知识后&#xff0c;我们现在基本能够使用Linux的相关基本操作了&#xff0c;但我们知道&#xff0c;没有工具我们是无法便捷地实现某些功能的&#xff0c;因此我们这篇内容来谈谈Linux中的工具。 一、软件包管理器yum 我们知道&#xff0c;我们要想获得一个软…

leetcode第77题组合

原题出于leetcode第77题https://leetcode.cn/problems/combinations/ 1.树型结构 2.回溯三部曲 递归函数的参数和返回值 确定终止条件 单层递归逻辑 3.代码 二维数组result 一维数组path void backtracking(n,k,startindex){if(path.sizek){result.append(path);return ;}…

Nacos + Dubbo3 实现微服务的Rpc调用

文章目录 概念整理基本概念概念助记前提RPC与HTTP类比RPC接口类的一些理解 实例代码主体结构父项目公共接口项目提供者项目项目结构POM文件实现配置文件实现公共接口实现程序入口配置启动项目检查是否可以注入到Nacos 消费者项目项目结构POM文件实现配置文件实现注册RPC服务类实…

算法-数据结构(图)-弗洛伊德算法复现(Floyd)

弗洛伊德算法&#xff08;Floyd-Warshall算法&#xff09;是一种用于求解所有节点对最短路径的动态规划算法&#xff0c;适用于有向图或无向图&#xff0c;且能处理带有负权边的图&#xff08;但不能有负权环&#xff09;。该算法的时间复杂度为 O(V3)O(V3)&#xff0c;其中 VV…

51c自动驾驶~合集22

我自己的原文哦~ https://blog.51cto.com/whaosoft/11870502 #自动驾驶数据闭环最前沿论文 近几年&#xff0c;自动驾驶技术的发展日新月异。从ECCV 2020的NeRF问世再到SIGGRAPH 2023的3DGS&#xff0c;三维重建走上了快速发展的道路&#xff01;再到自动驾驶端到端技术的…

基于javaweb的SpringBoot在线动漫信息平台系统设计和实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论…

【Qt】MVC设计模式

目录 一、搭建MVC框架 二、创建数据库连接单例类SingleDB 三、数据库业务操作类model设计 四、control层&#xff0c;关于model管理类设计 五、view层即为窗口UI类 一、搭建MVC框架 里面的bin、lib、database文件夹以及sqlite3.h与工程后缀为.pro文件的配置与上次发的文章…

ARM 处理器平台 eMMC Flash 存储磨损测试示例

By Toradex秦海 1). 简介 目前工业嵌入式 ARM 平台最常用的存储器件就是 eMMC Nand Flash 存储&#xff0c;而由于工业设备一般生命周期都比较长&#xff0c;eMMC 存储器件的磨损寿命对于整个设备来说至关重要&#xff0c;因此本文就基于 NXP i.MX8M Mini ARM 处理器平台演示…

本地部署DeepSeek-R1(Dify发件邮箱、找回密码、空间名称修改)

Dify配置发件邮箱 DIfy默认邮箱配置为空&#xff0c;在邀请团队成员注册时是不会发送邀请链接的&#xff0c;只能通过手动复制生成的注册链接发送给对应的人去注册设置密码。 这样很麻烦&#xff0c;并且在找回密码时也接收不了邮件&#xff0c;无法重置密码。 找到本地部署…

EasyRTC:支持任意平台设备的嵌入式WebRTC实时音视频通信SDK解决方案

随着互联网技术的飞速发展&#xff0c;实时音视频通信已成为各行各业数字化转型的核心需求之一。无论是远程办公、在线教育、智慧医疗&#xff0c;还是智能安防、直播互动&#xff0c;用户对低延迟、高可靠、跨平台的音视频通信需求日益增长。 一、WebRTC与WebP2P&#xff1a;实…

数据库数据恢复—SQL Server附加数据库报错“错误 823”怎么办?

SQL Server数据库附加数据库过程中比较常见的报错是“错误 823”&#xff0c;附加数据库失败。 如果数据库有备份则只需还原备份即可。但是如果没有备份&#xff0c;备份时间太久&#xff0c;或者其他原因导致备份不可用&#xff0c;那么就需要通过专业手段对数据库进行数据恢复…

HTMLS基本结构及标签

HTML5是目前制作网页的核心技术&#xff0c;有叫超文本标记语言。 基本结构 声明部分位于文档的最前面&#xff0c;用于向浏览器说明当前文档使用HTML标准规范。 根部标签位于声明部分后&#xff0c;用于告知浏览器这是一个HTML文档。< html>表示文档开始&#xff0c;&l…

IDEA集成DeepSeek,通过离线安装解决无法安装Proxy AI插件问题

文章目录 引言一、安装Proxy AI1.1 在线安装Proxy AI1.2 离线安装Proxy AI 二、Proxy AI中配置DeepSeek2.1 配置本地部署的DeepSeek&#xff08;Ollama方式&#xff09;2.2 通过第三方服务商提供的API进行配置 三、效果测试 引言 许多开发者尝试通过安装Proxy AI等插件将AI能力…

phpstudy安装教程dvwa靶场搭建教程

GitHub - digininja/DVWA: Damn Vulnerable Web Application (DVWA) Dvwa下载地址 Windows版phpstudy下载 - 小皮面板(phpstudy) 小皮下载地址 1选择windows 版本&#xff0c;点击立即下载 下载完成&#xff0c;进行解压&#xff0c;注意不要有中文路径 点击.exe文件进行安装…