|
1
2
|
用户登录 如果男用户登录,显示女生列表 如果女用户登录,显示男生列表 |
urls
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
===========================urls==========================================================="""s4day74 URL ConfigurationThe `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/1.11/topics/http/urls/Examples:Function views 1. Add an import: from my_app import views 2. Add a URL to urlpatterns: url(r'^$', views.home, name='home')Class-based views 1. Add an import: from other_app.views import Home 2. Add a URL to urlpatterns: url(r'^$', Home.as_view(), name='home')Including another URLconf 1. Import the include() function: from django.conf.urls import url, include 2. Add a URL to urlpatterns: url(r'^blog/', include('blog.urls'))""" from django.conf.urls import urlfrom django.contrib import adminfrom app01.views1 import lovefrom app01.views1 import accounturlpatterns = [ url(r'^admin/', admin.site.urls), # url(r'^test.html$',views.test), # url(r'^login/', views.login), # url(r'^index/', views.index), # url(r'^test.html$', love.test), url(r'^login.html$', account.login), url(r'^index.html$', love.index), url(r'^logout.html$', account.logout), url(r'^others.html$', love.others),] |
models
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
=============================models===============================================from django.db import models# Create your models here. # class UserInfo(models.Model): class Boy(models.Model): nickname = models.CharField(max_length=32) username = models.CharField(max_length=32) password = models.CharField(max_length=64)class Girl(models.Model): nickname = models.CharField(max_length=32) username = models.CharField(max_length=32) password = models.CharField(max_length=64)class B2G(models.Model): b = models.ForeignKey(to="Boy",to_field="id") g = models.ForeignKey(to="Girl",to_field="id") |
account.py
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
=============================account.py===============================================<br>from django.shortcuts import render,HttpResponse,redirectfrom app01 import modelsdef login(request): if request.method == "GET": return render(request, 'login.html') else: user=request.POST.get("username") pwd=request.POST.get("password") gender=request.POST.get("gender") rmb=request.POST.get("rmb") #性别判断 if gender=="1": obj=models.Boy.objects.filter(username=user,password=pwd).first() else: obj=models.Girl.objects.filter(username=user,password=pwd).first() if not obj: return render(request, "login.html", {"msg": "用户名或密码错误"}) else: #session里面设置值,可以嵌套 相当于归类 一个key对应一条条信息 # request.session['user_id']=obj.id # request.session["gender"]=gender # request.session["username"]=user if rmb: request.session.set_expiry(15) request.session['user_info']={'user_id':obj.id,'gender':gender,'username':user,'nickname':obj.nickname} return redirect("/index.html") #跳到后台管理 def logout(request): if request.session.get("user_info"): request.session.clear() return redirect('/login.html') |
love.py
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
============================= love.py===============================================<br>from django.shortcuts import render,HttpResponse,redirectfrom app01 import modelsfrom utils.pager import PageInfodef index(request): if not request.session.get("user_info"): return redirect("/login.html") else: #到session里面获取性别 gender=request.session.get("user_info").get('gender') if gender == "1": # user_list=models.Girl.objects.all() all_count = models.Girl.objects.all().count() page_info = PageInfo(request.GET.get('page'), all_count, 10, '/boy.html', 11) user_list = models.Girl.objects.all()[page_info.start():page_info.end()] return render(request, 'index.html', {'user_list': user_list, 'page_info': page_info}) else: # user_list=models.Boy.objects.all() all_count = models.Boy.objects.all().count() page_info = PageInfo(request.GET.get('page'), all_count, 10, '/boy.html', 11) user_list = models.Boy.objects.all()[page_info.start():page_info.end()] return render(request, 'index.html', {'user_list': user_list, 'page_info': page_info}) # return render(request,"index.html",{'user_list':user_list})def others(request): """ 获取与当前用户有关的异形 :param request: :return: """ current_user_id=request.session.get('user_info').get("user_id") gender=request.session.get("user_info").get("gender") if gender == "1": user_list=models.B2G.objects.filter(b_id=current_user_id).values('g__nickname') else: user_list=models.B2G.objects.filter(g_id=current_user_id).values('b__nickname') return render(request,'others.html',{'user_list':user_list}) |
login.html
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
============================= login.html===============================================<br><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> {% include 'user_header.html' %} <h1>有关系的异性列表</h1> <ul> {% for row in user_list%} {% if row.g__nickname %} <li>{{ row.g__nickname }}</li> {% else %} <li>{{ row.b__nickname }}</li> {% endif %} {% endfor %} </ul></body></html> |
index.html
|
1
2
3
4
5
6
7
8
9
10
|
============================= index.html===================================================================================================================<br>!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="/static/plugins/bootstrap-3.3.7-dist/css/bootstrap.css"> </head> <body>{# <h2>当前用户:{{ request.session.user_info.nickname }}</h2>#} {# <a href="/logout.html">注销</a>#} {% include 'user_header.html' %} <h3>异性列表</h3> <a href="/others.html">查看和我有关的异形</a> <table class="table table-striped table-bordered table table-hover table table-condensed"> <tr> <th>ID</th> <th>姓名</th> <th>密码</th> </tr> {% for row in user_list %} <tr> <td>{{ row.id }}</td> <td>{{ row.nickname }}</td> <td>{{ row.password }}</td> </tr> {% endfor %}</table> <nav aria-label="Page navigation"> <ul class="pagination"> {{ page_info.pager|safe }} </ul> </nav> </body> </html> |
others.html
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
============================= others.html====================================<br><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> {% include 'user_header.html' %} <h1>有关系的异性列表</h1> <ul> {% for row in user_list%} {% if row.g__nickname %} <li>{{ row.g__nickname }}</li> {% else %} <li>{{ row.b__nickname }}</li> {% endif %} {% endfor %} </ul></body></html> |
user_header.html
|
1
|
<h2>当前用户:{{ request.session.user_info.nickname }}</h2> <a href="/logout.html">注销</a> |
浙公网安备 33010602011771号