【Django】初识Django&快速上手

Django简介

Django是一个高级的、开源的Python Web框架,旨在快速、高效地开发高质量的Web应用程序
https://developer.mozilla.org/zh-CN/docs/Learn/Server-side/Django/Introduction

安装Django

复制代码
pip install Django

如果要知道安装的Django的版本,可以在命令行工具下输入

复制代码
python -m django --version

安装完django后的目录结构如下

复制代码
D:\PythonEv
	- python.exe
	- Scripts
		- pip.exe
		- django-admin.exe   
	- Lib
		- 内置模块
		- site-packages
			- django         

这里会发现Scripts文件夹下多了一个djangon-admin.exe文件,这个可以执行程序的作用是创建django项目中的文件和文件夹。在django项目中会有一些默认的文件和文件夹。

创建Django项目

在终端中创建

在windows的cmd环境中,输入下面的命令:

复制代码
django-admin startproject mysite

就会在当前目录下创建一个名为mysite的项目

复制代码
PS D:\MyCode\Python\Web\DjangoProject> django-admin startproject mysite
PS D:\MyCode\Python\Web\DjangoProject> dir


    目录: D:\MyCode\Python\Web\DjangoProject


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2024/4/27     16:48                mysite

进入这个mysite目录下你会发现有一个同名的mysite目录,这个mysite目录是整个项目的配置文件目录,上一个mysite目录是项目的根目录,还有一个manage.py文件,这个是项目的管理脚本。

复制代码
PS D:\MyCode\Python\Web\DjangoProject> cd mysite
PS D:\MyCode\Python\Web\DjangoProject\mysite> dir


    目录: D:\MyCode\Python\Web\DjangoProject\mysite


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2024/4/27     16:48                mysite
-a----         2024/4/27     16:48            684 manage.py

PS D:\MyCode\Python\Web\DjangoProject\mysite> cd mysite
PS D:\MyCode\Python\Web\DjangoProject\mysite\mysite> dir


    目录: D:\MyCode\Python\Web\DjangoProject\mysite\mysite


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         2024/4/27     16:48            405 asgi.py
-a----         2024/4/27     16:48           3345 settings.py
-a----         2024/4/27     16:48            784 urls.py
-a----         2024/4/27     16:48            405 wsgi.py
-a----         2024/4/27     16:48              0 __init__.py

项目根目录下,运行python manage.py runserver,Django会以127.0.0.1:8000这个默认配置启动项目。

打开浏览器输入127.0.0.1:8000显示下面的页面就说明成功啦

使用Pycharm创建

对比通过终端创建的Django项目和通过Pycharm创建的Django项目,会发现通过Pycharm创建的Django项目多了一个templates文件夹。

这是因为Pycharm在标准的基础上默认加了点东西。这个创建的templates目录可以删除,在setting.py文件中有如下代码

python 复制代码
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR / 'templates']
        ,
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

在终端创建的项目中的settings.py文件里 这行代码'DIRS': [BASE_DIR / 'templates']的写法是'DIRS': []。在删除掉templates文件夹后记得要修改这行代码。

创建APP

在Django框架中,app 是指一个具有明确边界和独立功能的模块化组件,在一个Django项目中可以有多个app。

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

通常是将app放在和manage.py同级的目录下。在mysite项目的根目录下输入如下命令(在Pychram中也是要通过Terminal终端通过命令创建)

复制代码
python manage.py startapp app01

系统就会自动生成app01的目录。app01的结构如下:

复制代码
PS D:\MyCode\Python\Web\DjangoProject\mysite> python manage.py startapp app01
PS D:\MyCode\Python\Web\DjangoProject\mysite> cd app01
PS D:\MyCode\Python\Web\DjangoProject\mysite\app01> dir


    目录: D:\MyCode\Python\Web\DjangoProject\mysite\app01


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2024/4/27     17:37                migrations
-a----         2024/4/27     17:37             66 admin.py
-a----         2024/4/27     17:37            148 apps.py
-a----         2024/4/27     17:37             60 models.py 对数据库操作
-a----         2024/4/27     17:37             63 tests.py	单元测试
-a----         2024/4/27     17:37             66 views.py	视图函数
-a----         2024/4/27     17:37              0 __init__.py

快速上手

  • 注册app

  • 编写URL和视图函数的对应关系

  • 编写视图函数

  • 运行

这只是一个简单的例子,实际的界面肯定是要加载html文件的,这就要引入模板。

templates模板

在app01目录下创建一个templates文件夹,在这个文件夹中创建了一个index.html文件,将view.py中的index方法修改成如下形式

python 复制代码
def index(request):
    return render(request,"index.html")

Django会根据app的注册顺序,在每一个app的templates文件夹下去寻找index.html文件

静态文件

在开发过程中图片,css,js都会当做静态文件处理。可以在app下创建一个static目录专门存放这些静态文件。

引入静态文件

HTML模板文件的顶部,使用 {% load static %} 标签加载静态文件标签库。然后,使用 {% static %} 标签来引用静态文件的URL

html 复制代码
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="{% static "plugins/bootstrap-3.4.1/css/bootstrap.min.css" %}">
</head>
<body>
<img src="{% static "img/img.png" %}" alt="">

<div class="dropdown">
  <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
    Dropdown
    <span class="caret"></span>
  </button>
  <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
    <li><a href="#">Action</a></li>
    <li><a href="#">Another action</a></li>
    <li><a href="#">Something else here</a></li>
    <li role="separator" class="divider"></li>
    <li><a href="#">Separated link</a></li>
  </ul>
</div>
<script src="{% static "js/jquery-3.6.0.min.js" %}"></script>
<script src="{% static 'plugins/bootstrap-3.4.1/js/bootstrap.min.js' %}"></script>
<script>
    $(".dropdown-toggle").dropdown();
</script>
</body>
</html>
相关推荐
炸炸鱼.31 分钟前
Python 操作 MySQL 数据库
android·数据库·python·adb
_深海凉_1 小时前
LeetCode热题100-颜色分类
python·算法·leetcode
AC赳赳老秦2 小时前
OpenClaw email技能:批量发送邮件、自动回复,高效处理工作邮件
运维·人工智能·python·django·自动化·deepseek·openclaw
zhaoshuzhaoshu2 小时前
Python 语法之数据结构详细解析
python
AI问答工程师2 小时前
Meta Muse Spark 的"思维压缩"到底是什么?我用 Python 复现了核心思路(附代码)
人工智能·python
zfan5203 小时前
python对Excel数据处理(1)
python·excel·pandas
小饕3 小时前
我从零搭建 RAG 学到的 10 件事
python
老歌老听老掉牙3 小时前
PyQt5+Qt Designer实战:可视化设计智能参数配置界面,告别手动布局时代!
python·qt
格鸰爱童话4 小时前
向AI学习项目技能(六)
java·人工智能·spring boot·python·学习
悟空爬虫-彪哥4 小时前
VRChat开发环境配置,零基础教程
python