############################################### 总结: 一.url路由配置: 方式一:(通过url链接get获取) 方式二:(url路由匹配方式获取-拓展(元组方式,)) 方式三:(url路由匹配方式获取-拓展(字典方式)) 二.表单动态提交方式: name属性运用 request.path_info属性运用 三.路由分发 ############################################### 一.url路由配置: 方式一:…
安装:在Django官网下载最新版Django然后通过pip安装即可 一.创建项目 进入文件夹,打开cmd窗口,输入django-admin startproject myblog(项目名) 二.创建应用 1.打开命令行,进入项目中manage.py同级目录 2.命令行输入:python manage.py startapp blog(应用名) 3.添加应用名到settings.py中的INSTALLED_APPS里 三.新建视图 编辑应用blog目录下的views.py文件如下: from d…
生成验证码函数 import random from PIL import Image, ImageDraw, ImageFont, ImageFilter _letter_cases = "abcdefghjkmnpqrstuvwxy" # 小写字母,去除可能干扰的i,l,o,z _upper_cases = _letter_cases.upper() # 大写字母 _numbers = ''.join(map(str, range(3, 10))) # 数字 init_chars…
前置步骤 setting.py文件配置: 添加app目录 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app01', ] 添加media文件和路径 PROJECT_ROOT = o…
cookie """ cookie属性: obj.set_cookie(key,value,....) obj.set_signed_cookie(key,value,salt="加密盐",....) 参数: key 键 value=“” 值 max_age=None 超时时间 expires=None 超时日期 path="/" cookit生效的路径,/表示根路径,特殊的,跟路径的cookie可以被任何url被任何url的页面访问…
视图 视图一般都写在app的views.py中.并且视图的第一个参数永远都是request(一个HttpRequest)对象.这个对象存储了这个http请求的所有信息,其中包括携带的参数以及一些头部信息等. 在视图函数中,一般是完成逻辑相关的操作.比如这个请求是添加一篇博客,那么可以通过request来接收到这些数据,然后存储到数据库中,最后再把执行的结果返回给浏览器. 视图函数的返回结果必须是HttpResponseBase对象或者其子类的对象. URL映射 视图写完后,要与URL进行映射,也…
核心: PS:一个页面只能继承一个模板. 前置: 配置url. 配置views 关键字: 1. {% extends "index模板.html" %} 声明继承于哪个模板 ,关联哪个模板页面. 2. {% block title %}<h1>用户管理页面:</h1>{% endblock %} 主页面 写内容,模板页面只需添加到制定位置 3. {% include "index-导入.html" %} 在主页面 直接导入即可. index页…
Django是一个开放源代码的Web应用框架,由Python写成. 采用了MVC的软件设计模式,即模型M,视图V和控制器C. 1. Python安装 下载地址: http://www.python.org. 如果运行在Linux或者Mac OS X,可能已经默认安装完毕. 注:Windows环境下,安装Python之后C:\Python27\;C:\Python27\Scripts;会存在环境变量中. 2. 服务器选择 Django本身包含有一个轻量级的Web server,用来测试开发(pyt…
 一.模板(html) 1.模板语法之变量:语法为 {{ }} 在 Django 模板中遍历复杂数据结构的关键是句点字符, 语法:{{ var_name }} var_name 是一个变量名称,需要和views文件return第三个参数(字典)中的键一一对应. views.py中的内容: def index(request): # 变量里的变量名等于return中的值,return的键要也模板{{ 值 }}的一一对应 s = "hello"  # 一个变量 list1 = ['one'…
URL 的概念及格式: URL的引入:客户端:知道了url 就可以去进行访问: 服务端:设置好了url,别人才能访问到我 URL :网址(全球统一资源定位符):由 协议,域名(ip port) ,路径,参数,锚点等组成 django路由系统: 当一个请求到来时: 1.首先到项目目录下的urls.py(URLconf 根路径配置模块),查找路由规则: 2.根URLconf模块,里面定义了 urlpatterns 变量 3.urlpatterns 是一个(django.urls.path, djan…
前端: <h1>测试</h1> <a href="/ce_test/?id=1">1按键</a> <a href="/ce_test/?id=2">2按键</a> <a href="/ce_test/?id=3">3按键</a> <a href="/ce_test/?id=4">4按键</a> <a h…
1.前言 假如我们要打开这两个博客园地址:[https://www.cnblogs.com/xiamen-momo/archive/2020/11.html].[https://www.cnblogs.com/xiamen-momo/archive/2020/12.html],会发现这两个地址的最大差别就是时间参数的值是动态的(年和月的值是动态的). 那么,如果我们想要获取地址[https://www.cnblogs.com/xiamen-momo/archive/2020/11.html]里面…
1)Admin: admin是django自带的功能强大的自动化数据管理界面 被授权的用户可以直接在Admin中管理数据库(增.删.改.查) Django提供了许多针对Admin的定制功能 2)配置Admin: 1.创建超级用户 python manage.py createsuperuser  (需要创建用户名和密码) 2.访问后台管理系统:localhost:8000/admin  (admin入口url) 3.修改setting.py中LANGUAGE_CODE='zh_Hans' (修改…
DOM 字段/参数 配置格式: Module.字段(参数) 常用的字段归纳: 数字 models.AutoField() 自增列(int),必须设置为主键 models.IntegerField() 整型 models.FloatField() 浮点 models.DecimalField(max_digits=8,decimal_places=3) 精确浮点 字符串 models.CharField() 字符串,必须设置max_length 参数 models.TextField(Field)…
view获取数据方法归纳: #请求meta数据 request.mata(...) request.method(POST,GET,PUT) #从meta里面获取数据 request.path_info request.COOKIES #请求body数据 request.POST(从body里面获取数据) request.FILES(从body里面获取数据) request.GET request.xxx.getlist 请求body数据(以下都是请求body数据) 前端页面代码:(整个复制即可…
步骤阐述: 1.下载 pycharm 安装包,安装pycharm 2.打开pycharm软件,新建工程项目 3.新建APP,配置url,启动项目 步骤1: pycharm 官网下载: https://www.jetbrains.com/pycharm/ 安装方式跟普通windows 软件安装方式一致,建议指定安装路径. 步骤2: 配置pycharm 软件 1.在创建工程目录前,先要配置解释器(当然默认直接建立Django项目也是可以的,但后续加载新项目会加载不了,所以建议先配置指定解释器.) 文…
前置步骤: 下载python,django 并且安装好 python 解释器以及django模块. 整体步骤阐述: 创建django工程项目 步骤一:进入安装的python目录 步骤二:输入创建工程的命令: 创建业务APP目录 步骤一:进入已创建的工程项目目录 步骤二:输入创建APP 工程项目名称 创建django工程项目: 1.进入安装的python目录下的scripts 目录中 2.在此文件夹的空白处 shift + 鼠标右键  ,在此处打开命令窗口 3.在此窗口下输入: django-ad…
核心: <a href='http://127.0.0.1:8000/index-%s'>%s<a> 自定义分页 1.前端处理字符 后端的字符  return render(request,"index.html",{"l传到前端的数据":list}) {{ 传到前端的数据 | safe}} 2.后端处理字符 导入处理的模块 from django.utils.safestring import mark_safe mark_safe(需要处…
先在views视图内,定义列表数据,以及字典数据.运用render函数传递两个列表数据至前端. from django.shortcuts import render list_info = [ {"}, {"}, {"}, {"}, {"}, {"}, {"}, ] dict_info = { "}, "}, "}, "}, "}, "}, "}, } def in…
期初用django 开发应用的时候,完全是在urls.py 中硬编码配置地址,在views.py中HttpResponseRedirect()也是硬编码转向地址,当然在template 中也是一样了,这样带来一个问题,如果在urls.py 中修改了某个页面的地址,那么所有的地方(views.py和template中)都要修改.如果是个很大的工程,那么要修改的地方就很多.当然,你也许会选择一个工具,直接查找替换来实现.除此之外呢..... 其实django 本身就提供了这个功能,就是 url 标签…
cookie和session cookie:在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前用户是哪个了.cookie存储的数据量有限,不同的浏览器有不同的存储大小,但一…
下载XLS表格方式: 前置: 需要安装xlwt模块 views : def export_users_xls(request): response = HttpResponse(content_type='application/ms-excel') response['Content-Disposition'] = 'attachment; filename="abc.xls"' wb = xlwt.Workbook(encoding='utf-8') ws = wb.add_she…
原理分析: API接口验证 1.一个认证的key server端 和 client端都必须有这么一个认证key. 2.认证登录的时间限定 3.保存已验证的信息,在以后的验证不能再次登录 client 端: import requests import hashlib import time # 基于验证的key au_key = "dawefgdsfsafdsadas" # 基于验证的时间 au_time = time.time() # 将验证的key与时间合并成一个字符 au_key…
验证需要知道requests提交数据的几种方式: GET 方式: # get 方式,传递数值可以直接通过url传递:(服务端接受 GET) requests.get(url='http://127.0.0.1:8000/api/?k1=a1') # get 方式也可通过参数 params:(服务端接受 GET) requests.get(url='http://127.0.0.1:8000/api/',params={"K1":'a1'}) POST 方式:(在django中需要注意c…
从数据库获取数据后,对数据进行清洗 目标: 数据1,存放至session 中的数据 数据2,显示至前端的菜单数据 清洗数据: 1.session存放的数据:(menu_leaf_dict) 2.前端菜单数据(rasult) from app01 import models # 取用户角色 uname juese data = models.Juese.objects.filter(utoj__u__uname='xguo') # 获取当前用户角色的权限 uname_juese quanxian_…
权限管理原理: 不同角色拥有不同的角色权限,所以能否访问的页面也就不相同. 通过控制URL使用户访问到不同的URL,从而达到权限控制的目的. 设计权限数据库 权限管理 from django.db import models # Create your models here. class Userinfo(models.Model): uname = models.CharField(max_length=30) pwd = models.CharField(max_length=30) cl…
版本问题: 首先确认django.msql.python版本是统一支持 当前所用的版本信息: Django setting.py 配置 替换之前的DATABASES 配置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'anec', 'USER': 'root', ', 'HOST': 'localhost', ', } } python3.0以上:需安装 在__init__ 文件中 引入PyM…
Django admin后台管理 切换成中文界面: 站点显示为中文: 在setting 里面修改 LANGUAGE_CORE = 'zh-Hans' 字段名显示中文 class Test(models.Model): name = models.CharField(max_length=50,verbose_name=u'图片名') image = models.ImageField(u'图片路径',upload_to='logo/') class Meta: verbose_name = '图…
定义表结构: class Host(models.Model): hostname = models.CharField(max_length=32) port = models.IntegerField() class HostAdmin(models.Model): username = models.CharField(max_length=32) email = models.CharField(max_length=32) host = models.ManyToManyField(H…
步骤阐述:( splitDB 是Django自带的一个数据库) 1.在APP01 中的 models.py 配置DB信息  userinfo 相当于数据表的表名,而 uname.pwd 相当于 表中的两个列字段.(DB默认还会自建一个ID列) 2.在setting 中注册 app01. 3.运行命令,建立数据表,写入数据. 4.split 数据库的基本增删改查. 步骤1.在业务app01 models 文当中 写入数据表的 表字段(uname 和 pwd 这个两个字段) 步骤2.在luru的主目…