我们创建一个社交模块

social模块,包含用户左滑右滑,表示喜欢、不喜欢或者超级喜欢的模块
新建app,social

python manage.py startapp social

在social/models.py中加入字段代码:

from django.db import models# Create your models here.class Swiped(models.Model):"""滑动"""STATUS = (('superlike', '超级喜欢'),('like', '喜欢'),('dislike', '不喜欢'))uid = models.IntegerField(verbose_name='滑动者的 UID')sid = models.IntegerField(verbose_name='被滑动者的 UID')status = models.CharField(max_length=8, choices=STATUS)time = models.DateTimeField(auto_now_add=True)class Friend(models.Model):"""好友"""uid1 = models.IntegerField()uid2 = models.IntegerField()"""如果A是B的好友,uid1或者uid2都可以记录A和B,因为A和B关系是相等的"""

然后把views.py名字改为api.py,本项目都是这样,写入预留函数:

from django.shortcuts import renderfrom lib.http import render_jsondef get_users(request):"""获取推荐列表"""return render_json()def like(request):"""喜欢"""return render_json()def superlike(request):"""超级喜欢"""return render_json()def dislike(request):"""不喜欢"""return render_json()def rewind(request):"""反悔"""return render_json()

主项目的urls.py中增加:

from social import api as social_api
urlpatterns = [...path('api/social/users', social_api.get_users),path('api/social/like', social_api.like),path('api/social/superlike', social_api.superlike),path('api/social/dislike', social_api.dislike),path('api/social/rewind', social_api.rewind),
]

添加预备数据

首先我们需要在数据库中添加一些机器人,
先回忆一下随机模块使用方法:

random.randrange(1, 10)
random.randint(1,10)
random.random
random.choice([1,2,3,4])  # 随机选一个
random.sample("123213456", 3)  #从字符串里取3个
random.shuffle()  #洗牌,打乱

然后利用随机方法,在主项目中创建文件夹scripts,然后创建init.py文件,写入下面代码:

#!/usr/bin/env pythonimport os
import sys
import random
import django# 设置环境
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.insert(0, BASE_DIR)
os.environ.setdefault('DJANGO_SETTINGS_MODULE', "spiter.settings")
django.setup()  # 这个设置下,才能使用Django内部的文件from user.models import User# last_names = (
#     '赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨'
#     '朱秦尤许何吕施张孔曹严华金魏陶姜'
#     '戚谢邹喻柏水窦章云苏潘葛奚范彭郎'
#     '鲁韦昌马苗凤花方俞任袁柳酆鲍史唐'
#     '费廉岑薛雷贺倪汤滕殷罗毕郝邬安常'
#     '乐于时傅皮卞齐康伍余元卜顾孟平黄'
# )double_names = {'复姓': ['独孤', '司马', '西门', '南宫', '东方',],'单姓': ['赵', '钱', '孙', '李', '周', '吴', '郑', '王','冯', '陈', '褚', '卫', '蒋', '沈', '韩', '杨',],}first_names = {'男': ['致远', '俊驰', '雨泽', '烨磊', '晟睿','天佑', '文昊', '修洁', '黎昕', '远航','旭尧', '鸿涛', '伟祺', '荣轩', '越泽','浩宇', '瑾瑜', '皓轩', '浦泽', '绍辉','绍祺', '升荣', '圣杰', '晟睿', '思聪'],'女': ['沛玲', '欣妍', '佳琦', '雅芙', '雨婷','韵寒', '莉姿', '雨婷', '宁馨', '妙菱','心琪', '雯媛', '诗婧', '露洁', '静琪','雅琳', '灵韵', '清菡', '溶月', '素菲','雨嘉', '雅静', '梦洁', '梦璐', '惠茜']
}def random_name():# last_name = random.choice(last_names)last_name_type = random.choice(list(double_names.keys()))last_name = random.choice(double_names[last_name_type])sex = random.choice(list(first_names.keys()))first_name = random.choice(first_names[sex])return ''.join([last_name, first_name]), sexdef create_robots(n):# 创建初始用户for i in range(n):name, sex = random_name()try:User.objects.create(phonenum='%s' % random.randrange(21000000000, 21900000000),nickname=name,sex=sex,birth_year=random.randint(1980, 2000),birth_month=random.randint(1, 12),birth_day=random.randint(1, 28),location=random.choice(['北京', '上海', '深圳', '成都', '西安', '沈阳', '武汉']),)print('created: %s %s' % (name, sex))except django.db.utils.IntegrityError:passif __name__ == '__main__':create_robots(10)

本来是百家姓,我给加入了复姓。

django社交类程序笔记(14)社交模块模型创建相关推荐

  1. django社交类程序笔记(7)短信平台对接

    个人模块开发 功能概览: 用户数据模型设计 手机注册 短信验证码登录 获取个人资料 修改个人资料 头像上传 在user文件夹下创建api.py,先写一些占位函数: def get_verify_cod ...

  2. QT学习笔记14(Qt模型视图结构)

    一.基础知识 1.MVC设计模式:是一种与用户界面相关的设计模式,通过此模式,可以有效的分离数据和用户界面. MVC包括三个要素: 表示数据的模型(Model):应用程序的对象 表示用户界面的视图(V ...

  3. Python flask实战订餐系统微信小程序-19后台管理员模块数据库创建

    B站配套视频教程观看 第一个要实现的功能是登录退出功能,任何一个大的系统都是有小模块组成的,我们可以通过思维导图整理出模块的功能列表,我们根据思维导图慢慢实现,就可以做出一个由简单到复杂的系统. 后台 ...

  4. 1.odoo13之跟着官网做项目/实例(创建模块、创建模型类、配置角色安全权限文件)

    目录 1.创建模块 2.运行程序,安装上模块 3.创建模型类 4.配置角色安全权限文件 1.创建模块 在主目录下,新建custom的文件夹 进入到pycharm中的命令行,创建estate命令 pyt ...

  5. Django开发社交类网站必备的10个第三方应用

    本文首发于我的博客 追梦人物的博客,欢迎关注. Django 的好处就是大而全,不仅内置了 ORM.表单.模板引擎.用户系统等,而且第三方应用的生态也是十分完善,开发中大部分常见的功能都能找到对应的第 ...

  6. Django开发社交类网站必备的11个第三方应用

    Django开发社交类网站必备的11个第三方应用 转载自 逐梦人物 Django 的好处就是大而全,不仅内置了 ORM.表单.模板引擎.用户系统等,而且第三方应用的生态也是十分完善,开发中大部分常见的 ...

  7. node.js学习笔记14—微型社交网站

    node.js学习笔记14-微型社交网站 1.功能分析 微博是以用户为中心,因此需要有注册和登录功能. 微博最核心的功能是信息的发表,这个功能包括许多方面,包括:数据库访问,前端显示等. 一个完整的微 ...

  8. 小程序社交类目需要上传《非经营性互联网信息服务备案核准》,什么是《非经营性互联网信息服务备案核准》?

    一.什么是<非经营性互联网信息服务备案核准>? <非经营性互联网信息服务备案核准>即为icp备案 政策法规依据 <互联网信息服务管理办法> 第三条 互联网信息服务分 ...

  9. 微信小程序 添加社交类目

    微信小程序添加社交类目,需要上传<非经营性互联网信息服务备案核准>即icp备案文件 可以通过https://beian.miit.gov.cn/#/search/info查询

最新文章

  1. Unity学习笔记3 简易2D横版RPG游戏制作(三)
  2. 指定查找区间,查找学生姓名并显示是否修改成功
  3. 不相交集ADT(联机算法 + 脱机算法)
  4. Lodop打印设计界面生成代码带”...(省略)”
  5. Python基础学习篇-2-数值运算和字符串
  6. shell下后台挂起
  7. 可临摹学习的精致的音乐播放器界面设计ui模板
  8. 基于Vue和Node.js的电商后台管理系统
  9. VMware ESXi 7.0 U2 SLIC Unlocker USB 网卡驱动集成镜像 202109 更新
  10. 【转载】透视“专利恶霸”系列之一 双重标准 吃相难看
  11. zblog微信小程序模板-青春主题小程序免费开源模板
  12. LaunchFaster 启动器工具 - 类似 Rolan 和音速启动的图标式快捷启动软件
  13. 计算机二级办公软件高级应用操作题,谁有计算机二级办公软件高级应用技术word操作题目啊?...
  14. Monte Carlo tree search 学习
  15. Simple polygon
  16. java 国家法定节假日和双休日判断工具类
  17. 什么是阻抗(Electrical impedance)
  18. 电机驱动芯片——TLE9183QK
  19. 如何将多个bin文件合成一个bin文件?(一)
  20. python批量修改文件名(将中文改为英文首字母)和xml文件

热门文章

  1. 学习电子电路的好资料(视频与仿真软件)
  2. YOLOv5、YOLOv7改进之实验结果新增mAP75的值(一):新增打印mAP75的值,便于YOLOv5系列模型对比实验获取更多精度数据,丰富实验数据
  3. css3代码整理—弹性盒子篇
  4. 工业制造业供应链系统解决方案丨助力企业打通数据流、控制流、业务流
  5. iOS 中使用 Mobile Installation 安装 IPA-获取列表(使用iTunes/AppStore一样的安装API)
  6. javacv 人脸追踪_javacv配置+javacv人脸识别代码.doc
  7. mysql导出数据库
  8. 影之刃服务器维护,《影之刃3》2月1日停服维护公告
  9. 阿里巴巴大神发布的Java零基础笔记,实战教程多到手软,跪了
  10. 案例:python实现单位转换