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\DjangoProjectMode                 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\mysiteMode                 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\mysiteMode                 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文件中有如下代码
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\app01Mode                 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方法修改成如下形式
def index(request):return render(request,"index.html")
Django会根据app的注册顺序,在每一个app的templates文件夹下去寻找index.html文件
静态文件
在开发过程中图片,css,js都会当做静态文件处理。可以在app下创建一个static目录专门存放这些静态文件。

引入静态文件
HTML模板文件的顶部,使用 {% load static %} 标签加载静态文件标签库。然后,使用 {% static %} 标签来引用静态文件的URL
{% 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>