diff --git a/.idea/care_test.iml b/.idea/care_test.iml
new file mode 100644
index 0000000..270adfd
--- /dev/null
+++ b/.idea/care_test.iml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..754a7f0
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..b1b73f9
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..7cf33e7
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,383 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ DEFINITION_ORDER
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 1551074348949
+
+
+ 1551074348949
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ No facets are configured
+
+
+
+
+
+
+
+
+
+
+
+ Python 2.7.15 (F:\Python27\python.exe) interpreter library
+
+
+
+
+
+
+
+
+
+
+
+ Python 2.7.15 (F:\Python27\python.exe)
+
+
+
+
+
+
+
+
+
+
+
+ care_test
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/care_test/__init__.py b/care_test/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/care_test/__init__.pyc b/care_test/__init__.pyc
new file mode 100644
index 0000000..e318573
Binary files /dev/null and b/care_test/__init__.pyc differ
diff --git a/care_test/settings.py b/care_test/settings.py
new file mode 100644
index 0000000..91fd768
--- /dev/null
+++ b/care_test/settings.py
@@ -0,0 +1,126 @@
+"""
+Django settings for care_test project.
+
+Generated by 'django-admin startproject' using Django 1.11.16.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/1.11/topics/settings/
+
+For the full list of settings and their values, see
+https://docs.djangoproject.com/en/1.11/ref/settings/
+"""
+
+import os
+
+# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
+BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+
+
+# Quick-start development settings - unsuitable for production
+# See https://docs.djangoproject.com/en/1.11/howto/deployment/checklist/
+
+# SECURITY WARNING: keep the secret key used in production secret!
+SECRET_KEY = '%)!m$_6h@u^1ot1cxl7)sfmpn+flleon!5%dez8x^4br$-c-*q'
+
+# SECURITY WARNING: don't run with debug turned on in production!
+DEBUG = True
+
+ALLOWED_HOSTS = []
+
+
+# Application definition
+
+INSTALLED_APPS = [
+ 'django.contrib.admin',
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+ 'test_test',
+ 'bootstrap3',
+ ]
+
+MIDDLEWARE = [
+ 'django.middleware.security.SecurityMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.common.CommonMiddleware',
+ #'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
+]
+
+ROOT_URLCONF = 'care_test.urls'
+
+TEMPLATES = [
+ {
+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
+ 'DIRS': [],
+ 'APP_DIRS': True,
+ 'OPTIONS': {
+ 'context_processors': [
+ 'django.template.context_processors.debug',
+ 'django.template.context_processors.request',
+ 'django.contrib.auth.context_processors.auth',
+ 'django.contrib.messages.context_processors.messages',
+ ],
+ },
+ },
+]
+
+WSGI_APPLICATION = 'care_test.wsgi.application'
+
+
+# Database
+# https://docs.djangoproject.com/en/1.11/ref/settings/#databases
+
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.mysql',
+ 'NAME': 'test_test', #
+ 'USER': 'root', #
+ 'PASSWORD': '1416520104', #
+ 'HOST': '127.0.0.1', #IP
+ 'PORT': '5555',
+ }
+}
+
+
+# Password validation
+# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators
+
+AUTH_PASSWORD_VALIDATORS = [
+ {
+ 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
+ },
+]
+
+
+# Internationalization
+# https://docs.djangoproject.com/en/1.11/topics/i18n/
+
+LANGUAGE_CODE = 'en-us'
+
+TIME_ZONE = 'UTC'
+
+USE_I18N = True
+
+USE_L10N = True
+
+USE_TZ = True
+
+
+# Static files (CSS, JavaScript, Images)
+# https://docs.djangoproject.com/en/1.11/howto/static-files/
+
+STATIC_URL = '/static/'
diff --git a/care_test/settings.pyc b/care_test/settings.pyc
new file mode 100644
index 0000000..d5eeca2
Binary files /dev/null and b/care_test/settings.pyc differ
diff --git a/care_test/urls.py b/care_test/urls.py
new file mode 100644
index 0000000..17a8a20
--- /dev/null
+++ b/care_test/urls.py
@@ -0,0 +1,28 @@
+"""care_test URL Configuration
+
+The `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 url,include
+from django.contrib import admin
+from test_test import views
+urlpatterns = [
+ url(r'^admin/', admin.site.urls),
+ url(r'^index/$',views.index),
+ url(r'^login_action/$',views.login_action),
+ url(r'^event_manage/$',views.event_manage),
+ url(r'^search_name/$',views.search_name),
+ url(r'^guest_manage/$',views.guest_manage),
+ url(r'^logout/$',views.logout),
+ url(r'^api/',include('test_test.urls',namespace="sign")),
+ ]
diff --git a/care_test/urls.pyc b/care_test/urls.pyc
new file mode 100644
index 0000000..2166a00
Binary files /dev/null and b/care_test/urls.pyc differ
diff --git a/care_test/wsgi.py b/care_test/wsgi.py
new file mode 100644
index 0000000..bd8ca86
--- /dev/null
+++ b/care_test/wsgi.py
@@ -0,0 +1,16 @@
+"""
+WSGI config for care_test project.
+
+It exposes the WSGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/1.11/howto/deployment/wsgi/
+"""
+
+import os
+
+from django.core.wsgi import get_wsgi_application
+
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "care_test.settings")
+
+application = get_wsgi_application()
diff --git a/care_test/wsgi.pyc b/care_test/wsgi.pyc
new file mode 100644
index 0000000..d2d4dbe
Binary files /dev/null and b/care_test/wsgi.pyc differ
diff --git a/db.sqlite3 b/db.sqlite3
new file mode 100644
index 0000000..0db2f7b
Binary files /dev/null and b/db.sqlite3 differ
diff --git a/manage.py b/manage.py
new file mode 100644
index 0000000..3fa8b9d
--- /dev/null
+++ b/manage.py
@@ -0,0 +1,22 @@
+#!/usr/bin/env python
+import os
+import sys
+
+if __name__ == "__main__":
+ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "care_test.settings")
+ try:
+ from django.core.management import execute_from_command_line
+ except ImportError:
+ # The above import may fail for some other reason. Ensure that the
+ # issue is really that Django is missing to avoid masking other
+ # exceptions on Python 2.
+ try:
+ import django
+ except ImportError:
+ raise ImportError(
+ "Couldn't import Django. Are you sure it's installed and "
+ "available on your PYTHONPATH environment variable? Did you "
+ "forget to activate a virtual environment?"
+ )
+ raise
+ execute_from_command_line(sys.argv)
diff --git a/test_test/__init__.py b/test_test/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/test_test/__init__.pyc b/test_test/__init__.pyc
new file mode 100644
index 0000000..77da318
Binary files /dev/null and b/test_test/__init__.pyc differ
diff --git a/test_test/admin.py b/test_test/admin.py
new file mode 100644
index 0000000..8fa75a6
--- /dev/null
+++ b/test_test/admin.py
@@ -0,0 +1,9 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.contrib import admin
+from test_test.models import Event,Guest
+# Register your models here.
+admin.site.register(Event)
+admin.site.register(Guest)
+
diff --git a/test_test/admin.pyc b/test_test/admin.pyc
new file mode 100644
index 0000000..74afaa0
Binary files /dev/null and b/test_test/admin.pyc differ
diff --git a/test_test/apps.py b/test_test/apps.py
new file mode 100644
index 0000000..0367b68
--- /dev/null
+++ b/test_test/apps.py
@@ -0,0 +1,8 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.apps import AppConfig
+
+
+class TestTestConfig(AppConfig):
+ name = 'test_test'
diff --git a/test_test/migrations/0001_initial.py b/test_test/migrations/0001_initial.py
new file mode 100644
index 0000000..afa13f2
--- /dev/null
+++ b/test_test/migrations/0001_initial.py
@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.16 on 2019-02-12 08:55
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Event',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=100)),
+ ('limit', models.IntegerField()),
+ ('status', models.BooleanField()),
+ ('address', models.CharField(max_length=200)),
+ ('start_time', models.DateTimeField(verbose_name='events time')),
+ ('create_time', models.DateTimeField(auto_now=True)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='Guest',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('realname', models.CharField(max_length=64)),
+ ('phone', models.CharField(max_length=16)),
+ ('email', models.EmailField(max_length=254)),
+ ('sign', models.BooleanField()),
+ ('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='test_test.Event')),
+ ],
+ ),
+ ]
diff --git a/test_test/migrations/0001_initial.pyc b/test_test/migrations/0001_initial.pyc
new file mode 100644
index 0000000..d996a48
Binary files /dev/null and b/test_test/migrations/0001_initial.pyc differ
diff --git a/test_test/migrations/__init__.py b/test_test/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/test_test/migrations/__init__.pyc b/test_test/migrations/__init__.pyc
new file mode 100644
index 0000000..40df895
Binary files /dev/null and b/test_test/migrations/__init__.pyc differ
diff --git a/test_test/models.py b/test_test/models.py
new file mode 100644
index 0000000..4b9f4c6
--- /dev/null
+++ b/test_test/models.py
@@ -0,0 +1,28 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import models
+class Event(models.Model):
+ name = models.CharField(max_length=100)
+ limit = models.IntegerField()
+ status = models.BooleanField()
+ address =models.CharField(max_length=200)
+ start_time = models.DateTimeField('events time')
+ create_time = models.DateTimeField(auto_now=True)
+ def ___str___(self):
+ return self.name
+
+
+class Guest(models.Model):
+ event = models.ForeignKey(Event)
+ realname = models.CharField(max_length=64)
+ phone = models.CharField(max_length=16)
+ email = models.EmailField()
+ sign = models.BooleanField()
+create_time = models.DateTimeField(auto_now=True)
+
+class Meta:
+ unique_together = ("event","phone")
+
+def ___str___(self):
+ return self.realname
diff --git a/test_test/models.pyc b/test_test/models.pyc
new file mode 100644
index 0000000..ae0c728
Binary files /dev/null and b/test_test/models.pyc differ
diff --git a/test_test/templates/event_manage.html b/test_test/templates/event_manage.html
new file mode 100644
index 0000000..0548434
--- /dev/null
+++ b/test_test/templates/event_manage.html
@@ -0,0 +1,72 @@
+
+
+ {% load bootstrap3 %}
+ {% bootstrap_css %}
+ {% bootstrap_javascript %}
+ Event Manage Page
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id | 名称 | 状态 | 地址 | 时间 |
+
+
+
+ {% for event in events %}
+
+ {{event.id}} |
+ {{event.name}} |
+ {{event.status}} |
+ {{event.address}} |
+ {{event.start_time}} |
+
+
+ {% endfor %}
+
+
+
+
+
+
+
+
+
+
diff --git a/test_test/templates/guest_manage.html b/test_test/templates/guest_manage.html
new file mode 100644
index 0000000..895f8f2
--- /dev/null
+++ b/test_test/templates/guest_manage.html
@@ -0,0 +1,79 @@
+
+
+
+ {% load bootstrap3 %}
+ {% bootstrap_css %}
+ {% bootstrap_javascript %}
+ Guest Manage
+ }
+
+
+
+
+
+
+
+
+
+
+ id | 名称 | 手机 | Email | 签到 |
+ 发布会 |
+
+
+
+ {% for guest in guests %}
+
+ {{guest.id}} |
+ {{guest.realname}} |
+ {{guest.phone}} |
+ {{guest.email}} |
+ {{guest.sign}} |
+ {{guest.event}} |
+
+ {% endfor %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/test_test/templates/index.html b/test_test/templates/index.html
new file mode 100644
index 0000000..715ab57
--- /dev/null
+++ b/test_test/templates/index.html
@@ -0,0 +1,17 @@
+
+
+ Django Page
+
+
+ 发布会管理
+
+
+
+
+
diff --git a/test_test/tests.py b/test_test/tests.py
new file mode 100644
index 0000000..5982e6b
--- /dev/null
+++ b/test_test/tests.py
@@ -0,0 +1,6 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/test_test/urls.py b/test_test/urls.py
new file mode 100644
index 0000000..d3feb54
--- /dev/null
+++ b/test_test/urls.py
@@ -0,0 +1,18 @@
+from django.conf.urls import url
+from test_test import views_if
+urlpatterns = [
+ #sign system interface
+ #ex : /api/add_event/
+ url(r'^add_event/',views_if.add_event,name='add_event'),
+ #ex: /api/add_guest/
+ #url(r'^add_guest/',views_if.add_guest,name='add_guest'),
+ #ex: /api/get_event_list/
+ url(r'^get_event_list/',views_if.get_event_list,name='get_event_list'),
+ #ex: /api/get_guest_list/
+ #url(r'^get_guest_list/',views_if.get_guest_list,name='get_guest_list'),
+ #ex: /api/user_sign/
+ #url(r'^user_sign/',views_if.user_sign,name='user_sign'),
+
+
+
+ ]
diff --git a/test_test/urls.pyc b/test_test/urls.pyc
new file mode 100644
index 0000000..8e92fb4
Binary files /dev/null and b/test_test/urls.pyc differ
diff --git a/test_test/views.py b/test_test/views.py
new file mode 100644
index 0000000..f130bd7
--- /dev/null
+++ b/test_test/views.py
@@ -0,0 +1,43 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+from test_test.models import Event,Guest
+from django.shortcuts import render
+from django.http import HttpResponse,HttpResponseRedirect
+from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger
+def index(request):
+ return render(request,"index.html")
+def login_action(request):
+ if request.method =='POST':
+ username = request.POST.get('username','')
+ password = request.POST.get('password','')
+ if username == 'admin' and password == 'admin123':
+ return HttpResponseRedirect('/event_manage/')
+ else:
+ return render(request,'index.html',{'error':'username or password error!'})
+def event_manage(request):
+ event_list = Event.objects.all()
+ username = request.session.get('user','')
+
+ return render(request,"event_manage.html",{"user":username,"event":event_list})
+def search_name(request):
+ username = request.session.get('user','')
+ search_name =request.GET.get("name","")
+ event_list = Event.objects.filter(name__contains=search_name)
+ return render(request,"event_manage.html",{"user":username,"events":event_list})
+def guest_manage(request):
+ username = request.session.get('user','')
+ guest_list = Guest.objects.all()
+ paginator = Paginator(guest_list,2)
+ page = request.GET.get('page')
+ try:
+ contacts = paginator.page(page)
+ except PageNotAnInteger:
+ contacts = paginator.page(1)
+ except EmptyPage:
+ contacts = paginator.page(paginator.num_pages)
+ return render(request,"guest_manage.html",{"user":username,"guests":contacts})
+
+def logout(request):
+ #auth.logout(request)
+ response = HttpResponseRedirect('/index/')
+ return response
diff --git a/test_test/views.pyc b/test_test/views.pyc
new file mode 100644
index 0000000..dd719d1
Binary files /dev/null and b/test_test/views.pyc differ
diff --git a/test_test/views_if.py b/test_test/views_if.py
new file mode 100644
index 0000000..4edaaab
--- /dev/null
+++ b/test_test/views_if.py
@@ -0,0 +1,66 @@
+from django.http import JsonResponse
+from test_test.models import Event
+from django.core.exceptions import ValidationError,ObjectDoesNotExist
+import json
+import logging
+def add_event(request):
+ eid = request.POST.get("eid","")
+ name = request.POST.get("name","")
+ limit = request.POST.get("limit","")
+ status = request.POST.get("status","")
+ address = request.POST.get("address","")
+ start_time = request.POST.get("start_time","")
+ received_json_data = request.body
+ logging.error(type(received_json_data))
+ if eid =='' or name == '' or limit == '' or address == '' or start_time == '':
+ return JsonResponse({'status':10021,'message':'parameter error '})
+ result = Event.objects.filter(id=eid)
+ if result:
+ return JsonResponse({'status':10022,'message':'event id already exists'})
+ result = Event.objects.filter(name=name)
+ if result:
+ JsonResponse({'status':10023,'message':'event name already exists'})
+ if status == '':
+ status = 1
+ try:
+ Event.objects.create(id=eid,name=name,limit=limit,address=address,status=int(status),start_time=start_time)
+ except ValidationError as e:
+ error = 'start_time format error. It must be in YYYY-MM-DD HH:MM:SS format.'
+ return JsonResponse({'status':10024,'message':error})
+ return JsonResponse({'status':200,'message':'add event success'})
+def get_event_list(request):
+ eid =request.GET.get("eid","")
+ name =request.GET.get("name","")
+ if eid == '' and name == '':
+ return JsonResponse({'status':10021,'message':'parameter error'})
+ if eid !='':
+ event = {}
+ try:
+ result = Event.objects.get(id=eid)
+ except ObjectDoesNotExist:
+ return JsonResponse({'status':10022,'message':'query result is empty'})
+ else:
+ event['name'] = result.name
+ event['limit'] = result.limit
+ event['status'] = result.status
+ event['address'] = result.address
+ event['start_time'] = result.start_time
+ return JsonResponse({'status':200,'message':'success','data':event})
+ if name != '':
+ datas=[]
+ results =Event.objects.filter(name__contains=name)
+ if results:
+ for r in results:
+ event = {}
+ event['name'] =r.name
+ event['limit'] = r.limit
+ event['status'] = r.status
+ event['address'] = r.address
+ event['start_time'] = r.start_time
+ datas.append(event)
+ return JsonResponse({'status':200,'message':'success','data':datas})
+ else:
+ return JsonResponse({'status':10022,'message':'query result is empty'})
+
+
+
diff --git a/test_test/views_if.pyc b/test_test/views_if.pyc
new file mode 100644
index 0000000..549adec
Binary files /dev/null and b/test_test/views_if.pyc differ