分析下城市-教学机构-教师模型设计 CourseOrg 课程信息 Teacher 教师信息 CityDict 城市信息 代码 from datetime import datetime from django.db import models # Create your models here. class CityDict(models.Model): name = models.CharField(max_length=20, verbose_name="城市") desc = m…
如果是第一次做这个玩意,说实话,确实不知道怎么弄, 做一次后就有感觉了 此前我们已经完成了: 分类筛选 分页 这次我们做的是 课程机构排名 知识点: - 按照点击数从大到小排名, 取出前三名 hot_orgs = all_orgs.order_by("-click_nums")[:3] - 模板中for语句会自动产生forloop变量,可以计数,用来显示排名 <p>{{ forloop.counter }}</p> 授课机构排名 orgView 安装点数从大到小…
实现根据城市&课程机构过滤 实现点谁谁高亮,支持取交集. 直接上代码吧 本质上是过滤,多层过滤,取交集 def get(self, request): all_orgs = CourseOrg.objects.all() # 所有课程机构 all_citys = CityDict.objects.all() # 所有城市列表 # 取出筛选城市 city_id = request.GET.get("city", "") if city_id: all_orgs…
city和课程机构信息展示到前台去 organization/views.py from django.views.generic.base import View from organization.models import CourseOrg, CityDict class OrgView(View): # 课程机构列表页 def get(self, request): all_orgs = CourseOrg.objects.all() all_citys = CityDict.obje…
项目开端 参考的是mxonline项目 先把这两项完成 1.app设计 2.app的models的设计 经过分析系统有四个模块 users - 用户管理 course - 课程管理 oranization - 授课教师&授课机构 operation - 用户操作管理 一般系统都先设计用户模块, 把较为独立的模块也放在users模块 先设计user模块 - 用户详情里的字段有 image nick_name gender brith mobile address django默认自带用户表的字段无…
课程列表页分析 1,机构类型 2,所在地区 3.排序 学习人数 先分析下 纵观页面,页头页脚都一样. django提供了模板继承. 至少 不同页面的title 面包屑路径 content内容不一致,以前总结个django模板继承 base.html(页头页脚公用, tilte content等block) ---> org-list.html(继承base, 将父block替换成自己的) 整改org-list的templates为继承模式 这里我自己写了个简单的style.css. 这里静态文件…
浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的seesion和cookie机制 处理登录逻辑 users/views.py from django.contrib.auth import authenticate, login def user_login(request): if request.method == "POST": use…
创建自定义验证用户名密码类CustomBackend users/views.py from django.contrib.auth import authenticate, login from django.contrib.auth.backends import ModelBackend from django.shortcuts import render # Create your views here. from users.models import UserProfile cla…
django form认证-解压db压力 一般系统都需要前后端都验证 前端验证容器逃逸破解,如通过js console口去发 试想如果后端只有db验证,那么前端无论发什么后端都查询一次db,对db压力太大, 所以后端 先通过form验证,对其长度等验证通过后才db验证. 新建forms.py forms.py里的字段要和前端的login表单字段name对应上 users/forms.py from django import forms class LoginForm(forms.Form):…
修改views使用class模式 类模式写views - 免去了函数模式的判断的烦恼 users/views.py from django.views.generic import View class UserView(View):#继承了View类,它里面实现get post等方法, 使用类模式写免去了函数模式的判断 def get(self, request): return render(request, "login.html", {}) def post(self, req…