diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4b174dd
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+.idea/
+.venv/
+.media/
+*/__pycache__/
+*/*.pyc
+*/migrations
+NewMediaMonitoring/local_settings.py
\ No newline at end of file
diff --git a/.idea/NewMediaMonitoring.iml b/.idea/NewMediaMonitoring.iml
deleted file mode 100644
index a29129f..0000000
--- a/.idea/NewMediaMonitoring.iml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml
deleted file mode 100644
index 9c7f58c..0000000
--- a/.idea/dataSources.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
- postgresql
- true
- org.postgresql.Driver
- jdbc:postgresql://210.77.68.250:5432/newmediaDB1
-
-
- sqlite.xerial
- true
- org.sqlite.JDBC
- jdbc:sqlite:D:\python\p3\NewMediaMonitoring\db.sqlite3
-
-
-
-
-
- file://$APPLICATION_CONFIG_DIR$/jdbc-drivers/Xerial SQLiteJDBC/3.25.1/license.txt
-
-
- file://$APPLICATION_CONFIG_DIR$/jdbc-drivers/Xerial SQLiteJDBC/3.25.1/sqlite-jdbc-3.25.1.jar
-
-
- file://$APPLICATION_CONFIG_DIR$/jdbc-drivers/Xerial SQLiteJDBC/3.25.1/license.txt
-
-
- file://$APPLICATION_CONFIG_DIR$/jdbc-drivers/Xerial SQLiteJDBC/3.25.1/sqlite-jdbc-3.25.1.jar
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index 3edce78..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index db41c88..0000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/NewMediaMonitoring/settings.py b/NewMediaMonitoring/settings.py
index e95ae5b..809781a 100644
--- a/NewMediaMonitoring/settings.py
+++ b/NewMediaMonitoring/settings.py
@@ -37,6 +37,8 @@ INSTALLED_APPS = [
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
+ 'django_token',
+ 'corsheaders',
'bootstrap3',
'captcha',
'dashboard',
@@ -47,11 +49,13 @@ MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
+ 'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
+ 'django_token.middleware.TokenMiddleware',
]
ROOT_URLCONF = 'NewMediaMonitoring.urls'
@@ -79,7 +83,7 @@ WSGI_APPLICATION = 'NewMediaMonitoring.wsgi.application'
DATABASES = {
'default': {
- 'ENGINE': 'django.contrib.gis.db.backends.postgis',
+ 'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'newmediaDB1',
'USER': 'newmedia',
'PASSWORD': 'newmedia2020!@#',
@@ -87,6 +91,7 @@ DATABASES = {
'PORT': '5432',
}
}
+
# Password validation
# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators
@@ -105,6 +110,11 @@ AUTH_PASSWORD_VALIDATORS = [
},
]
+AUTHENTICATION_BACKENDS = (
+ 'django.contrib.auth.backends.ModelBackend',
+ 'django_token.backends.TokenBackend'
+)
+
# Internationalization
# https://docs.djangoproject.com/en/2.1/topics/i18n/
@@ -133,6 +143,10 @@ MEDIA_ROOT = '/var/www/p3/NewMediaMonitoring/media/'
AUTH_PROFILE_MODULE = 'djangoadmin.myadmin.UserProfile'
"""用户模块扩展完成"""
+CORS_ORIGIN_ALLOW_ALL = True
+
+CORS_URLS_REGEX = r'^/polls/.*$'
+
try:
from .local_settings import *
except ImportError as e:
diff --git a/NewMediaMonitoring/urls.py b/NewMediaMonitoring/urls.py
index eb317f4..40cdde0 100644
--- a/NewMediaMonitoring/urls.py
+++ b/NewMediaMonitoring/urls.py
@@ -17,8 +17,9 @@ from django.contrib import admin
from django.urls import path, include
urlpatterns = [
+ path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
path('', include('dashboard.urls')),
path('captcha/', include('captcha.urls')),
- path('management/',include('management.urls'))
+ path('management/', include('management.urls'))
]
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..d75c3c2
--- /dev/null
+++ b/README.md
@@ -0,0 +1,8 @@
+# install
+
+```shell
+pip install -r requirements.txt
+
+pip install git+https://github.com/RobWeber3/django-token.git
+
+```
\ No newline at end of file
diff --git a/dashboard/migrations/__pycache__/__init__.cpython-38.pyc b/dashboard/migrations/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000..f5ce8ae
Binary files /dev/null and b/dashboard/migrations/__pycache__/__init__.cpython-38.pyc differ
diff --git a/dashboard/templatetags/__pycache__/__init__.cpython-38.pyc b/dashboard/templatetags/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000..02d505b
Binary files /dev/null and b/dashboard/templatetags/__pycache__/__init__.cpython-38.pyc differ
diff --git a/management/migrations/__pycache__/__init__.cpython-38.pyc b/management/migrations/__pycache__/__init__.cpython-38.pyc
new file mode 100644
index 0000000..4290306
Binary files /dev/null and b/management/migrations/__pycache__/__init__.cpython-38.pyc differ
diff --git a/polls/__init__.py b/polls/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/polls/admin.py b/polls/admin.py
new file mode 100644
index 0000000..8c38f3f
--- /dev/null
+++ b/polls/admin.py
@@ -0,0 +1,3 @@
+from django.contrib import admin
+
+# Register your models here.
diff --git a/polls/apps.py b/polls/apps.py
new file mode 100644
index 0000000..d0f109e
--- /dev/null
+++ b/polls/apps.py
@@ -0,0 +1,5 @@
+from django.apps import AppConfig
+
+
+class PollsConfig(AppConfig):
+ name = 'polls'
diff --git a/polls/migrations/__init__.py b/polls/migrations/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/polls/models.py b/polls/models.py
new file mode 100644
index 0000000..71a8362
--- /dev/null
+++ b/polls/models.py
@@ -0,0 +1,3 @@
+from django.db import models
+
+# Create your models here.
diff --git a/polls/tests.py b/polls/tests.py
new file mode 100644
index 0000000..7ce503c
--- /dev/null
+++ b/polls/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/polls/urls.py b/polls/urls.py
new file mode 100644
index 0000000..27c5f7c
--- /dev/null
+++ b/polls/urls.py
@@ -0,0 +1,10 @@
+from django.urls import path
+
+from . import views
+
+urlpatterns = [
+ path('', views.index, name='index'),
+ path('status_500', views.status_500, name='status_500'),
+ path('status_401', views.status_401, name='status_401'),
+ path('login', views.polls_login, name='polls_login'),
+]
diff --git a/polls/views.py b/polls/views.py
new file mode 100644
index 0000000..3fdc33d
--- /dev/null
+++ b/polls/views.py
@@ -0,0 +1,43 @@
+from django.shortcuts import render
+from django.http import HttpResponse, JsonResponse
+from django.contrib.auth import get_user_model
+from django.views.decorators.csrf import csrf_exempt
+
+# Create your views here.
+
+
+def index(request):
+ username = request.GET.get('username')
+ password = request.GET.get('password')
+ print(username, password)
+ return JsonResponse({'status': 'error', 'message': '用户名或密码错误'})
+
+
+def status_500(request):
+ return HttpResponse(status=500)
+
+
+def status_401(request):
+ return HttpResponse(status=401)
+
+
+@csrf_exempt
+def polls_login(request):
+ if request.method == 'POST':
+ phone = request.POST.get('phone')
+ password = request.POST.get('password')
+ UserModel = get_user_model()
+ user = UserModel.objects.filter(first_name=phone).first()
+ if not user:
+ return JsonResponse({'status': 'error', 'message': '用户名或密码错误'})
+
+ u = authenticate(request, username=user.username, password=password)
+ if u is not None:
+ login(request, u)
+ print(u)
+ result = dict()
+ return JsonResponse(result)
+ else:
+ return JsonResponse({'status': 'error', 'message': '用户名或密码错误'})
+ else:
+ return JsonResponse({})
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..f17dc87
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,5 @@
+Django~=2.2.15
+django-bootstrap3
+django-simple-captcha
+psycopg2-binary
+django-cors-headers