N多年前,曾经用PHP为公司工会写了一个《工会换届选举投票系统》。那时候因为个人爱好,在自学PHP编程。有一天工会主席找我,希望使用网络投票方式选出新一届工会委员。我硬着头皮接下了任务,花了一个星期才完成。
3年前,EE委员会的老潘找我,希望我能帮忙做一个《三八节摄影作品》评比投票系统。因为工作忙的原因,就找到百度免费的《问卷调研》这个在线工具,总算是应付过去。
昨天,老潘又提起《摄影作品》在线投票评比的事,还是希望我能帮忙,本想这一次还是用百度的《问卷调研》这个工具,可是已经不能免费使用了,了解到至少要支付RMB 1000元,因为经费紧张,所以另想办法。
今天,放假,因为疫情,只能待在家里,于是决定自己写一个《摄影作品》投票系统给老潘。花了一个白天,构思、设计后台数据库,编写代码,测试。总算ok。
系统使用了django2.1.5, mysql5.7,
一、models.py
from django.db import models
# Create your models here.
class qtype(models.Model):
name=models.CharField(max_length=20)
def __str__(self):
return self.name
class question(models.Model):
qtext=models.CharField(max_length=200)
qtype=models.ForeignKey('qtype',to_field='id',on_delete=False)
largevote=models.IntegerField(default=5,verbose_name='最多可选')
def __str__(self):
return self.qtext
class choiceitem(models.Model):
ctext=models.CharField(max_length=40)
question=models.ForeignKey('question',to_field='id',on_delete=False)
image=models.ImageField(upload_to='vote',verbose_name='相片')
def __str__(self):
return self.ctext
class voterecord(models.Model):
email=models.EmailField(max_length=50)
choiceitem=models.ForeignKey('choiceitem',to_field='id', on_delete=False)
二、views.py
from django.shortcuts import render
from django.http import HttpResponse,HttpResponseRedirect
from vote.models import question,qtype,choiceitem,voterecord
from django.views.decorators.csrf import csrf_exempt
from random impor