Loading...

1.安装django

1
pip install django
1
2
3
4
5
6
7
8
9
10
11
c:\python39
- python.exe
- Scripts
- pip.exe
- django-admin.exe [工具,创建django项目中的文件和文件夹]
- Lib
- 内置模块
- site-packages
- openpyxl
- ...
- django [框架源码]

2.创建Django项目(pycharm)

点击create


3.特别说明

  • 命令行创建的项目是标准的
  • pycharm上增加了东西,settings.py中line57

4.默认项目的文件介绍

1
2
3
4
5
6
7
8
DjangoProject
- manage.py [项目管理,启动项目,创建app,数据管理]
- DjangoProject
- __init__.py
- asgi.py [接受网络请求,勿改]
- settings.py [项目的配置文件,常会修改]
- urls.py [url和函数的对应关系,常会修改]
- wsgi.py [接受网络请求,勿改]

5.APP

1
2
3
4
项目
- app:用户管理[表结构、函数、HTML模版、CSS]
- app:订单管理
- app:后台管理

创建app01:

1
python38 manage.py startapp app01

所得目录如下:

1
2
3
4
5
6
7
8
9
- app01
- migrations [数据库变更记录]
- __init__.py
- __init__.py
- admin.py [不动,admin后台管理]
- apps.py [不动,app启动类]
- models.py [重要,对数据库进行操作]
- tests.py [不动]
- views.py [重要,函数]

6.快速上手,启动运行django

  • 确保app已注册,将创建的app添加到settings.py


  • 编写URL和视图函数对应的关系:url.py



  • 启动django项目

命令行执行python manage.py runserver

pycharm执行: 直接点绿色▶️按钮


7.模版和静态文件

  • url.py中创建关系
  • views.py中写页面

7.1 templates模版



7.2 静态文件

静态文件包含:

  • 图片
  • CSS
  • js

步骤:

  • 创建static文件夹
  • 引用静态文件

8. django模版语法

9.请求和响应

  • get:明面上传送
  • post:偷偷的传送

  • 关于重定向


10.案例:用户登录

Python 代码解释(login 函数)

1
2
3
4
5
6
7
8
9
10
11
12
from django.shortcuts import redirect

def login(request):
if request.method == "GET":
return render(request, "login.html")
else:
username = request.POST.get("user")
password = request.POST.get("pwd")
if username == 'root' and password == '123':
return redirect("https://www.chinaunicom.com.cn/")
else:
return render(request, "login.html", {"error_msg": "用户名或密码错误"})

功能:这个 login 函数处理用户登录请求。

  • 请求方法检查:如果请求方法是 GET,则渲染并返回登录页面 login.html。这通常用于最初显示登录表单。

  • 处理 POST 请求

    • 当用户提交表单时,请求方法将为 POST
    • 函数从请求中获取用户名(user)和密码(pwd)。
  • 登录验证

    • 代码中硬编码了用户名和密码(root123),这只是一个示例。在实际应用中,您应该使用更安全的验证方法。
    • 如果用户名和密码匹配,则使用 redirect 函数重定向到指定的 URL(在这里是 “https://www.chinaunicom.com.cn/”)。
  • 错误处理:如果用户名或密码不正确,函数将再次渲染 login.html 并传递一个错误消息。


HTML 模板解释(login.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录界面</title>
</head>
<body>
<h1>用户登录</h1>
<form method="post" action="/login/">
{% csrf_token %}
<input type="text" name="user" placeholder="用户名">
<input type="password" name="pwd" placeholder="密码">
<input type="submit" value="提交"/>
<span style="color: red;">{{ error_msg }}</span>
</form>
</body>
</html>

功能:这个 HTML 模板用于显示登录表单。

  • 表单设置

    • method="post":指定表单提交的方法是 POST,用于发送敏感数据(如用户名和密码)。
    • action="/login/":指定表单提交的目标 URL。
  • CSRF 令牌{% csrf_token %}:这是 Django 的模板标签,用于防止跨站请求伪造(CSRF)攻击。它在表单中生成一个隐藏的输入字段,包含 CSRF 令牌。

  • 输入字段

    • 用户名输入:类型为文本,name="user"
    • 密码输入:类型为密码,name="pwd"。这确保密码在输入时不会显示。
  • 错误消息显示:如果有错误消息(如用户名或密码错误),它会显示在表单下方的红色文本中。


11.连接MySQL模块

django开发非常简单,因为内部提供了orm开发框架

安装第三方模块:pip install mysqlclient

创建数据库:create database gx_day15 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

django连接数据库:

1