Django学习手册 - 初识自定义分页】的更多相关文章

核心: <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(需要处…
初识: django简介: 开放源代码的web应用框架 由python语言编写的. 一.框架基本概念(核心): 以上这个图就是 django 的核心逻辑图,必须熟记.后续的所有编程都跟这个图的逻辑息息相关. 二.MVC/MTV 是啥子? MVC:全名Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交…
Django中操作Cookie 获取Cookie request.COOKIES['key'] request.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None) 参数: default: 默认值 salt: 加密盐 max_age: 后台控制过期时间 设置Cookie rep = HttpResponse(...) rep = render(request, ...) rep.set_cookie(key,val…
前端代码: <div class="xianshi"> {% for i in info %} <ul> <li>{{ i }}</li> </ul> {% endfor %} </div> <div class="yema"> {% for x in yemalist%} <span>{{ x | safe}}</span> {% endfor%} <…
相关: Django的模板引擎提供一般性的功能函数,通过前端可以实现多数的代码逻辑功能,但它仅支持大多数常见情况下的函数功能,例如if判断,ifequal对比返回值等,复杂一些的函数功能并不支持,例如通过模板来判断一个返回值是否是合法的数字类型,如果又不希望通过后台视图代码来实现的话,就可以自定义一些前端函数功能. Django提供了两种方式 simple_tag filter 两种方式前置操作: 1.app下创建 templatetags 目录 2.在目录下创建py文件. 3.在文件内 创建t…
django 为我们提供了强大的用户认证系统,并且提供了基于该系统的User模型,所以,很多时候,我们有必要对自己的user进行业务扩展,得到满足我们自己业务需求的user.借此,写下自己的感悟. user内置属性如下: username 用户名,必需字段.30个字符或更少,包含 _, @, +, . 和 - 字符. first_name可选. <=30字符. last_name可选. <=30字符r. email邮箱,可选. Email地址. password密码,必需.Django不是以明…
接着上篇,在上篇的基础上实现网页数据分页显示 1.打开views.py,编辑如下 #coding:utf-8from django.shortcuts import render,get_object_or_404from blog.models import Postfrom django.core.paginator import Paginator,EmptyPage,PageNotAnInteger# Create your views here.def post_list(reques…
""" 核心: from django import formsfrom django.forms import fieldsfrom django.forms import widgets class table_name(forms.Form) 自定义字段名 = fields.字段数据类型(字段参数) 字段数据类型: 基本字段: fields.CharField() #字符串类型 fields.IntegerField() #整型类型 fields.FloatField(…
报错问题: 问题一:(1050代码) django.db.utils.InternalError: (1050, "Table 'app01_group' already exists") 解决办法: python manage.py migrate app名 --fake 问题二:(1146代码) django.db.utils.ProgrammingError: (1146, "Table 'anec.app01_usergroup' doesn't exist"…
DOM 字段/参数 配置格式: Module.字段(参数) 常用的字段归纳: 数字 models.AutoField() 自增列(int),必须设置为主键 models.IntegerField() 整型 models.FloatField() 浮点 models.DecimalField(max_digits=8,decimal_places=3) 精确浮点 字符串 models.CharField() 字符串,必须设置max_length 参数 models.TextField(Field)…
下载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…
CURD CURD是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是CURD.作用是用于处理数据的基本原子操作. 它代表创建(Create).更新(Update).读取(Retrieve)和删除(Delete)操作. 核心 1.前端页面通过ajax方式请求后台数据库数据 2.后台 配置文件 指定字段去数据库取相应的字段返回给前端ajax 3.前端通过jquery 实现前端页面数据修改,将修改数据再次通过ajax返回给后台 具体实现 前端ajax获取数据 在js自执行函数中,写入代…
原理分析: 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…
生成验证码函数 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…
ORM 查询的数据类型: QuerySet与惰性机制(可以看作是一个列表) 所谓惰性机制:表名.objects.all()或者.filter()等都只是返回了一个QuerySet(查询结果集对象),它并不会马上执行sql,而是当调用QuerySet的时候才执行. QuerySet特点: <1>  可迭代的 <2>  可切片 <3>  惰性计算和缓存机制 例: info=models.table_name.objects.all()[0:5] #切片 info= mode…
版本问题: 首先确认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 = '图…
前置步骤 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…
定义表结构: 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…
Django 外键创建 关键语法: models.ForeignKey("UserGroup",to_field="gid",default=1,on_delete=models.CASCADE) 参数: "UserGroup"  #外键另外一张表 to_field="gid" #另外一张表的字段 on_delete=models.CASCADE  #因为不加这个会报错相关(https://www.cnblogs.com/ph…
Django 单表数据的获取: 先建立数据表格 from django.db import models # Create your models here. class userinfo(models.Model): uname = models.CharField(max_length=32,db_column="用户名") pwd = models.CharField(max_length=32,db_column="密码") email = models.E…
步骤阐述:( 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的主目…
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…
整体步骤阐述:(windows环境下) 步骤一,下载python安装包 (和 jiango 压缩包) 步骤二,安装python 配置python的环境变量 步骤三,安装djang 方式一:pip install jdango == 2.0 方式二:通过jango压缩包安装 步骤一: 下载python安装包和django 压缩包 官方下载地址: python:https://www.python.org/downloads/ django:https://www.djangoproject.com…
# 装饰器定义 def auth(func): def inner(request,*args,**kwargs): v = request.COOKIES.get("user") if not v: return redirect("/login/") return func(request,*args,**kwargs) return inner # FBV 方式 # @auth # def index(request): # v = request.COOKI…