200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > django社交类程序笔记(14)社交模块模型创建

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

时间:2021-01-08 02:18:14

相关推荐

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

我们创建一个社交模块

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_apiurlpatterns = [...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.randomrandom.choice([1,2,3,4]) # 随机选一个random.sample("123213456", 3) #从字符串里取3个random.shuffle() #洗牌,打乱

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

#!/usr/bin/env pythonimport osimport sysimport randomimport 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)

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。