django笔记

  1. 标准的Web开发的框架: MVC
    M — Model
    V — View
    C — Controller

  2. Python对MVC进行微调 : MVCT
    M— Model — 数据库
    V — View — 逻辑控制
    C —Controller — URL路由、URL控制
    T — Templates — 前端的HTML页面

  3. 用户访问Web经过MVCT处理的流程:
    1) 用户输入URL会对Web服务器一个Request请求
    2) Request被Web接收后,会对访问的URL做一个过滤,如果找不到匹配的URL表达式,直接返回404错误;如果有匹配的,直接将请求路由给views中的某一个函数。
    3) View的函数对请求做业务的判断,返回数据给用户,有三种场景:
    A: 直接访问文本 — 封装到httpResponse中
    B:返回静态的HTML页面,
    C:在数据库中找到相应的数据,填充到HTML模板页面中,返回给用户

  4. 基本结构:
    一个网站就是一个Project
    因为一个网站可能包含多个模块,一个模块相当于一个APP

  5. 创建一个Hello,world页面
    1) 创建一个项目djDemo02
    方法01:在Pycharm中直接创建
    方法02:在CMD中输入命令【输入命令前确保当前目录在D:\python\project中】:
    django-admin startproject djDemo02
    2) 在djDemo02的项目中创建一个App, 使用如下命令
    python manage.py startapp app01
    3) 在djDemo02的APP的Views中创建一个函数index
    from django.http import HttpResponse
    def index(request):
    text = “Hello,World!”
    return HttpResponse(text)
    4) 在URLS中配置URL路由
    from django.contrib import admin
    from django.urls import path
    from app01 import views
    urlpatterns = [
    path(‘admin/’, admin.site.urls),
    path(’’, views.index)
    ]

  6. 加载学生信息在页面展示
    1) 在views中使用函数读取文件中所有的学生信息 — 最外层–List --内层–List–使用数字 Dict-key
    2) 在Views的函数中返回render(request, ‘student.html’, context = {“students”: 集合的名称 })
    3) 在模板[HTML文件]中使用模板语言遍历出数据
    逻辑处理:
    {% for student in studnets %}
    {% endfor %}
    {{ student.0 }}
    4) 在urls中配置Path

  7. URL传参数
    1) 使用URL: http://127.0.0.1:8000/student/detail/95012/
    2) 使用传统的?传递:http://127.0.0.1:8000/student/detail/?sno=95012

  8. 把网站让其他计算机访问
    1)需要运行 python manage.py runserver 0.0.0.0:8000
    2) 在setting中设置AllowedHosts ,添加访问的主机 【‘192.168.182.135’,‘www.abc.com’】
    hosts文件路径: C:\windows\system32\drivers\etc\hosts

  9. 在urls中使用 re_path — 对url控制更加精细
    比如: 传学号的参数,参数必须是95开头的5位数字
    在urls中:
    from django.urls import re_path
    re_path(‘student/detail/(?P[9][5]\d{3})/’, views.student_detail),

  10. 如果访问一个网站的首页,首页如果没有监测到登录,直接跳到登录页面
    from django.shortcuts import redirect
    return redirect(’/login/’)

  11. djDemo04 有三个APP:
    1)home — 首页 /
    2) Student — 学生模块 /student/
    3) book — 图书模块 /book/

  12. urls – 命名空间
    第一步:在urls中添加app_name
    app_name = “book”

    urlpatterns = [
    path(’’, views.index, name=“index”),
    path(‘detail/’, views.detail, name=“detail”),
    path(‘login/’, views.login, name=“login”),
    ]
    第二步:跳转的时候,加上app_name
    return redirect(reverse(‘book:login’))

  13. django 基于数据库开发
    操作数据库有两种模式:
    1) 原生的SQL语句
    2) ORM

14。django如果操作数据库,有很多的接口— Django中MySQL驱动程序
1)mysql-Python : 也就是MySQLdb, 是对C语言操作mysql的一个简单封装,遵循了Python DB API v2,
但是只支持Python2,目前还不支持Python3
2)mysqlclient: 是Mysqldb的另外一个分支,支持Python3并且修复了一些Bug,
3) pymysql : 纯Python实现的一个驱动个,因为是纯Python写的,因此执行效率不如MysqlClient, 也因为是 Python写的,和Python代码无缝衔接
4) Mysql connector for Python : mysql官方提供的使用python连接mysql的驱动

  1. 部署pymysql
    1. pip install pymysql
    2. 在项目APP的__init__中加入如下代码:
      import pymysql
      pymysql.install_as_MySQLdb()
      3)配置django连接数据库的信息:
DATABASES = {
	'default': {
   	 'ENGINE': 'django.db.backends.mysql',
    	'NAME': 'StudentDB',
   	 'USER': 'root',
    	'PASSWORD': '123.com',
    	'HOST': '192.168.182.10',
    	'PORT': '3306',
 }
    }

DB_HOST = '192.168.182.10'
DB_USER = 'root'
DB_PASSWORD = '123.com'
DB_Name = 'StudentDB'
  1. 在DataTables中实现数据的查看、修改、
    1) 确保DataTables中的按钮能正常工作!
    2) — 先处理查看学生详细信息–
    准备01: 准备好 student_detail.html
    准备02: 为查看在views里面写函数 –
    准备03: 添加urls
    path(‘detail/’, views.student_detail, name=“detail01”),
    准备04: 为点击按钮添加View的函数
    location.href = “{% url ‘student:detail01’%}?sno=” + currentSNO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值