在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,本專案都是這樣,寫入預留函式:
:"""獲取推薦列表"""
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 python
import 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 =
defrandom_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]
) *** = random.choice(
list
(first_names.keys())
) first_name = random.choice(first_names[***]
)return
''.join(
[last_name, first_name]
), ***
defcreate_robots
(n):
# 建立初始使用者
for i in
range
(n):
name, *** = random_name(
)try
: user.objects.create(
phonenum=
'%s'
% random.randrange(
21000000000
,21900000000),
nickname=name,
***=***,
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, ***)
)except django.db.utils.integrityerror:
pass
if __name__ ==
'__main__'
: create_robots(
10)
本來是百家姓,我給加入了複姓。 django社交類程式筆記(1)專案概覽
swiper social 類似於 探探 的社交類程式,採用親啊後端分離結構,主要包含下列模組 個人模組 社交模組 vip模組 非同步任務模組 redis快取模組 日誌模組,異常處理模組 簡訊模組,郵件模組 運維,部署 前端模組 其他了解真實專案的開發流程 掌握如何使用git完成協作開發和 管理 掌...
django 學習筆記 14 快取機制
快取設定在settings 檔案 的 cache backend 中。這裡是乙個cache backend 所 有可用值的解釋。memcached 是迄今為止可 用於django 的最快,最有效的快取型別,memcached 是完全基於記憶體的快取框架,在安裝了memcached 本身之後,你將需要...
Django學習筆記(2)建立應用程式
learning log source ll env bin activate2.1 定義模型 每當需要修改 學習筆記 管理的資料時,採取三個步驟 修改models.py,對learning logs呼叫makemigrations修改資料庫,讓django遷移專案migrate step1.修改m...