笔记12:Django进阶

栏目: Python · 发布时间: 6年前

内容简介:摘要:日常学习中对一些知识点进行总结得出该系列文章。学习笔记内容包括前端技术,Django web开发技术,数据库技术如MySQL,MongoDB,PGSQL等等。此外还有一些工具如Dock,ES等等。(本文原创,转载必须注明出处.)(1) djang-admin startproject test3(2) python manage.py startapp booktest

摘要:日常学习中对一些知识点进行总结得出该系列文章。学习笔记内容包括前端技术,Django web开发技术,数据库技术如MySQL,MongoDB,PGSQL等等。此外还有一些 工具 如Dock,ES等等。(本文原创,转载必须注明出处.)

1 登录页面

(1) djang-admin startproject test3

(2) python manage.py startapp booktest

(3) 创建templates目录和路径配置,后续完成对应app和login.html页面

笔记12:Django进阶

ajax请求

笔记12:Django进阶

笔记12:Django进阶

views.py

笔记12:Django进阶

(4) 注册app

(5) 配置数据库连接,并在init.py输入: import pymysql pymysql.install_as_MySQLdb()

(6) 配置static目录,后续完成对应app和css,js等

settings.py
# 设置静态文件的保存路径
STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')]

(7) 配置项目urls和app下的urls。这里主要使用path,path_re,include

笔记12:Django进阶

(8) 编写views和相关方法

笔记12:Django进阶

(9) python manage.py runserver 127.0.0.1:8080

(10) 编写models.py文件

(11) 生成迁移文件 python manage.py magrate

(12) 生成迁移表 python manage.py makemagration

2 小知识

(1)404错误原因是url没有配置或者配置错误

(2)500一般是服务器错误,view修改

(3)开发时候打开调试模式,开发完成后DEBUG = False

(4)页面传参

index.html

<ul>
    {% for book in books %}
        <li>{{ book.btitle }} --- <a href="delete{{ book.id }}">删除</a></li>
    {% endfor %}
</ul>

urls.py

from django.urls import path,re_path

from booktest import views
urlpatterns = [
    path('',views.index,name='index'),
    path('create/',views.create,name='create'),
    # path('delete<int:bid>/',views.delete,name='delete'),
    re_path(r'^delete(\d+)$',views.delete,name='delete'),
    # re_path(r'^delete(?P<bid>\d+)$',views.delete,name='delete'), # 组的关键字参数,与视图保持一致
]

views.py

def delete(request,bid):
    book = BookInfo.objects.get(id=bid)
    book.delete()
    return redirect('/booktest')

(5)重定向

from django.shortcuts import render,redirect
return redirect('/booktest')
return render(request,'booktest/index.html')

(6) ajax 异步操作

笔记12:Django进阶

test_ajax.html

笔记12:Django进阶

笔记12:Django进阶

views.py

笔记12:Django进阶

(7)ajax同步异步

笔记12:Django进阶

3 cookie与session

(1)cookie与session区别

理解cookie,你(浏览器)去火锅店吃饭,排队,老板(服务器)给每个人一个号(cookie)。拿着票号去吃火锅,老板验票(读取cookie)

笔记12:Django进阶

笔记12:Django进阶

理解session:你(浏览器)去理发店办卡,你的信息(session)保存在店(服务器)里面的电脑中,给你一个卡号(sessionid即cookie)。下次只需要报卡号就可以了

笔记12:Django进阶

笔记12:Django进阶

  • cookie无论如何保存,取出的都是str。session保存与读取字段类型一致

(2)cookie设置与读取

笔记12:Django进阶

(3)使用cookie记住用户名

  • html

笔记12:Django进阶

  • view

笔记12:Django进阶

笔记12:Django进阶

  • 修改html

笔记12:Django进阶

(3)session设置与读取

  • 视图

笔记12:Django进阶

  • urls

笔记12:Django进阶

  • mysql

笔记12:Django进阶

  • 设置过期时间

笔记12:Django进阶

(4)使用session记住用户登录状态

  • views

笔记12:Django进阶

笔记12:Django进阶

(5)cookie和session应用场景

笔记12:Django进阶

4 模板Templates

(1)pycharm自动配置,默认自动生成注册app,dir等

笔记12:Django进阶

(2)修改数据库设置

笔记12:Django进阶

笔记12:Django进阶

(3)启动项目

笔记12:Django进阶

(4)模板使用

  • views

笔记12:Django进阶

笔记12:Django进阶

  • urls.py :path与re_path

笔记12:Django进阶

笔记12:Django进阶

注意:render第三个参数是字典参数,通过html配置变量

(5)模板文件加载顺序

笔记12:Django进阶

(6)模板语言

笔记12:Django进阶

(7)模型变量

笔记12:Django进阶

迁移数据和表,生成如下:(也可以直接指定表,不用做迁移,如下表)

笔记12:Django进阶

  • views

笔记12:Django进阶

  • urls

笔记12:Django进阶

  • templates,html

笔记12:Django进阶

笔记12:Django进阶

(8)模板标签

笔记12:Django进阶

笔记12:Django进阶

注意:比较符两边需要空格

  • 日期格式

笔记12:Django进阶

(9)自定义过滤器

1 项目下创建templatetags(必须这个名字)包,创建自定义过滤器文件,如filters.py

笔记12:Django进阶

笔记12:Django进阶

笔记12:Django进阶

2 HTML使用

笔记12:Django进阶

笔记12:Django进阶

注意:过滤器默认封装号的,通过管道I直接使用,此外,还可以自定义过滤器,“|”前面的参数值默认传递,只需要输入过滤器方法名即可

(9) 模板注释

单行注释

笔记12:Django进阶

多行注释

笔记12:Django进阶

(10)模板继承

base:child1,child2.

笔记12:Django进阶

  • base.html

笔记12:Django进阶

  • child.html

笔记12:Django进阶

笔记12:Django进阶

  • 父模板中预留子模板位置,即预留块

笔记12:Django进阶

笔记12:Django进阶

笔记12:Django进阶

(11) 模板html转义

笔记12:Django进阶

关闭某个变量的转义
{{ content|safe }} 
关闭所有变量的转义
{{ autoescape }}
{{content}}
{{ endautoescape }}

5 技术QQ群

机器学习和自然语言QQ群:436303759

机器学习和自然语言(QQ群号:436303759)是一个研究深度学习、机器学习、自然语言处理、数据挖掘、图像处理、目标检测、数据科学等AI相关领域的技术群。其宗旨是纯粹的AI技术圈子、绿色的交流环境。本群禁止有违背法律法规和道德的言谈举止。群成员备注格式:城市-自命名。微信订阅号:datathinks


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Data Mining

Data Mining

Jiawei Han、Micheline Kamber、Jian Pei / Morgan Kaufmann / 2011-7-6 / USD 74.95

The increasing volume of data in modern business and science calls for more complex and sophisticated tools. Although advances in data mining technology have made extensive data collection much easier......一起来看看 《Data Mining》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

随机密码生成器
随机密码生成器

多种字符组合密码