django 游戏人间

from django.db import models

# Create your models here.

# 游戏表:
# name游戏名
class Game(models.Model):
g_name = models.CharField(max_length=20,verbose_name='游戏')
verbose_name_plural = '游戏'
# people
def __str__(self):
return self.g_name

# 玩家表
#name玩家名称
class People(models.Model):
game = models.ManyToManyField(Game)
p_name = models.CharField(max_length=10,verbose_name='大玩家')
verbose_name_plural = '玩家'
def __str__(self):
return self.p_name

from django.shortcuts import render
from movieapp.models import Game,People
# Create your views here.

# 业务需要:
# 1,首页展示所有游戏名称
# 2,点击游戏进入该游戏玩过的玩家
# 3,点击玩家进入所有该玩家玩过的游戏

# 首页展示所有游戏
def index(requset):
data = Game.objects.all()
return render(requset,'index.html',locals())

def show_people(requset,id_):
data = People.objects.filter(game__id=id_)
return render(requset,'show_people.html',locals())

def show_game(requset,id_):
data = Game.objects.filter(people=id_)
return render(requset,'show_game.html',locals())

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
<ul>
{% for m in data %}
{% if m.people_set %}
<li><a href="show_people/{{ m.id }}/">{{ m.g_name }}</a></li>
{# <ul>#}
{# {{ m.performer_set.p_name }}#}
{# </ul>#}
{% else %}
<li>{{ m.g_name }}</li>
{% endif %}
{% endfor %}
</ul>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>展示玩家玩过的游戏:</title>
</head>
<body>
<h3>展示玩家玩过的游戏:</h3>
<ul>
{% for g in data %}
<li>{{ g.g_name }}</li>
{% endfor %}
</ul>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>玩过该游戏的玩家有:</title>
</head>
<body>
<h1>玩过该游戏的玩家有:</h1>
<ul>
{% for p in data %}
<li><a href="/show_game/{{ p.id }}">{{ p.p_name }}</a></li>
{% endfor %}
</ul>
</body>
</html>

猜你喜欢

转载自www.cnblogs.com/lhrd/p/10858990.html