Django项目

一. 相亲小项目

用户登录  如果男用户登录,显示女生列表
             如果女用户登录,显示男生列表

from django.shortcuts import render,HttpResponse,redirect
from app01 import models

def login(request):
    if request.method == "GET":
        return render(request,"login.html")
    else:
        username = request.POST.get("username")
        password = request.POST.get("password")
        gender = request.POST.get("gender")
        if gender == "1":
             obj = models.Boy.objects.filter(username=username,password=password).first()
        else:
            obj = models.Girl.objects.filter(username=username,password=password).first()
        if not obj:
            #未登录
            return render(request,"login.html",{"msg":"用户名或密码错误"})
        else:
            request.session["user_info"] = {"user_id":obj.id,"gender":gender,"username":username,"nickname":obj.nickname}
        return redirect("/index.html")

def logout(request):
    if request.session.get("user_info"):
        request.session.clear()
    return redirect("/login.html")

views/account.py

from django.shortcuts import render,HttpResponse,redirect
from app01 import models

def index(request):
    if not request.session.get("user_info"):
        return redirect("/login.html")
    else:
        gender = request.session.get("user_info").get("gender")
        if gender == "1":
            user_list = models.Girl.objects.all()
        else:
            user_list = models.Boy.objects.all()
        return render(request,"index.html",{"user_list":user_list})

def others(request):

    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,"other.html",{"user_list":user_list})

def test(request):

    # models.Boy.objects.create(nickname="方少伟",username="fsw",password="123")
    # models.Boy.objects.create(nickname="陈涛",username="ct",password="123")
    # models.Boy.objects.create(nickname="egon",username="egon",password="123")
    #
    # models.Girl.objects.create(nickname="lili", username="lili", password="123")
    # models.Girl.objects.create(nickname="jim", username="jim", password="123")
    # models.Girl.objects.create(nickname="xiaojie", username="xiaojie", password="123")

    # models.B2G.objects.create(b_id=1,g_id=1)
    # models.B2G.objects.create(b_id=1,g_id=2)
    # models.B2G.objects.create(b_id=1,g_id=3)
    # models.B2G.objects.create(b_id=2,g_id=1)
    # models.B2G.objects.create(b_id=3,g_id=1)
    # models.B2G.objects.create(b_id=4,g_id=1)

    return HttpResponse("...")

views/love.py

from django.db import models

# Create your models here.

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")

models.py

urlpatterns = [
    url(r‘^admin/‘, admin.site.urls),

    url(r‘^test.html$‘, love.test),

    url(r‘^login.html$‘, account.login),
    url(r‘^logout.html$‘, account.logout),

    url(r‘^index.html$‘, love.index),
    url(r‘^others.html$‘, love.others),

]

urls.py

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

    <form action="/login.html" method="POST">
        {% csrf_token %}
        <p>用户:<input type="text" name="username"></p>
        <p>密码:<input type="password" name="password"></p>
        <p>
            性别:
                男<input type="radio" name="gender" value="1">
                女<input type="radio" name="gender" value="2">
        </p>

        <input type="submit" value="提交">{{ msg }}
    </form>

</body>
</html>

login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

{% include "user_head.html" %}

<h3>异性列表</h3>
<a href="/others.html">查看和我有关系的异性</a>
<ul>
    {% for row in user_list %}
        <li>{{ row.nickname }}</li>
    {% endfor %}
</ul>

</body>
</html>

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

    {% include "user_head.html" %}

    <h3>有关系的异性列表</h3>
    <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>

other.html

<h3>当前用户: {{ request.session.user_info.nickname }}</h3>
<a href="/logout.html">注销</a>

user_head.html

时间: 2024-11-05 21:47:54

Django项目的相关文章

linux搭建django项目基本步骤

一 linux下django基本项目搭建流程:M model 用于与数据库交互V view 接受前台请求 调用model获取结果,调用T获取页面,返回给前台T template 接受view的要求 生成一个网页给V 1 创建项目命令: django-admin startproject 项目名 2 为项目创建一个应用(django中一个应用就是一个功能模块): 在项目目录下 该目录下有一个manage.py文件 python manage.py startapp 应用名 3 安装应用,将应用与项

运行django项目出现Invalid HTTP_HOST header: &#39;192.168.1.111:8000&#39;. You may need to add &#39;192.168.1.111&#39; to ALLOWED_HOSTS

Request Method: GET Request URL: http://202.201.38.70:8000/angular Django Version: 1.11.3 Exception Type: DisallowedHost Exception Value: Invalid HTTP_HOST header: '202.201.38.70:8000'. You may need to add '202.201.38.70' to ALLOWED_HOSTS. Exception

使用uWSGI部署django项目

先说说什么是uWSGI吧,他是实现了WSGI协议.uwsgi.http等协议的一个web服务器,那什么是WSGI呢? WSGI是一种Web服务器网关接口.它是一个Web服务器(如nginx)与应用服务器(如uWSGI服务器)通信的一种规范(协议). 还有一种wsgi,uwsgi是一种线路协议而不是通信协议,在此常用于在uWSGI服务器与其他网络服务器的数据通信.uwsgi协议是一个uWSGI服务器自有的协议,它用于定义传输信息的类型(type of information). 部署步骤: 1.

Django项目导入Eclipse运行调试

受不了没有调试的感觉. 前提是Eclipse插件已经安装完成并且可以成功运行例子.参考:http://blog.csdn.net/jerome_s/article/details/46340079 1. 新建一个"Pydev Project"项目 2. project contents选择要导入的项目的路径 (如果有提示多余文件什么的可进入目录删除对应文件即可) 3. 将项目设置为django项目 右击项目 4. 设置项目manage.py 右击项目属性 5. 运行 右击项目debug

django项目创建和结构解释

一.django项目创建 1.手动创建 1)查看是否安装了Django 没有安装的话可以用install命令安装. 2)创建Django项目 3)查看创建的项目 4)创建应用 Django中至少需要一个应用app,用来处理业务逻辑. 2.利用pycharm创建项目 二.Django结构解释 1.项目结构解释 第一层demo就是创建的整个Django项目. 第二层demo是项目的主程序目录. manage.py是整个项目的主控制文件. settings.py是整个项目的设置文件. urls.py是

django复习--如何建立一个django项目

1.cd到项目文件夹下 2.创建一个django项目:django-admin startproject firstsite(项目名称) 3.若同时安装了2.x和3.x版本的python,则需要在manage.py最上方把#!/usr/bin/env python 改为 #!/usr/bin/env python3 (接下来以此情况为例) 4.创建一个django实例:python3 manage.py startapp firstapp(实例名称)

Django 1.6 最佳实践: 如何设置django项目的设置(settings.py)和部署文件(requirements.txt)

Django 1.6 最佳实践: 如何设置django项目的设置(settings.py)和部署文件(requirements.txt) 作者: Desmond Chen,发布日期: 2014-05-17, 修改日期: 2014-05-18 在Django 1.6中的settings.py中可以修改130多项设置, 但大多数都继承自默认值. 设置是在web服务器启动时首次载入的, 服务器重启时重新载入, 因此, 程序员们应尽量避免修改正式服务器上使用的settings.py文件. 以下是一些我们

向云服务器部署django项目

1. ftp服务器的搭建 为了把项目文件上传至云服务器,我们需要在云服务器端设置ftp服务,进行文件传输. (1)云服务器端 a. 首先,我们需要安装vsftpd,输入命令 sudo apt-get install vsftpd -y b. 安装成功后,我们需要建立一个ftp专用账户. 检查一下nologin文件夹的位置,一般在/usr/sbin/nologin或者/sbin/nologin下.若没有这个文件夹,就在/sbin下新建一个. 进入nologin之后,输入命令: useradd -d

创建Django项目

一.安装Python和Django 网上都有教程.... 二.创建一个Django项目 Django主要使用django-admin.py这个脚本来管理项目,默认情况下,Django是安装到Python的安装目录之内:"$Python/Lib/site-packages/django"目录之中,我们调用django-admin.py就需要输入长长的地址:"E:/Program Files/Python/Lib/site-packages/django/bin/django-a

Apache部署django项目

我想这应该是很普遍的一篇文章,百度了一下确实有不少相关的文章,居然还在讲用“mod_python” , 我也是醉了.在些过程中颇费了些力气.在些记录. ---------------------------------------------- 在此之前,我们一直使用django的manage.py 的runserver 命令来运行django应用,但这只是我们的开发环境,当项目真正部署上线的时候这做就不可行了,必须将我们的项目部署到特定的web服务器上. 安装apache Apache是非常有