|
|
4
|
+Django settings for kodo project.
|
|
5
|
5
|
|
|
6
|
6
|
Generated by 'django-admin startproject' using Django 1.8.4.
|
|
7
|
7
|
|
|
|
|
@@ -83,11 +83,11 @@ MIDDLEWARE_CLASSES = (
|
|
83
|
83
|
# MIDDLEWARE_CLASSES += ('multidomain.middleware.DomainMiddleware', )
|
|
84
|
84
|
#
|
|
85
|
85
|
# URL_CONFIG = (
|
|
86
|
|
-# # (r'^(.+\.)?xfoto\.com\.cn', 'pai2.urls_www'),
|
|
87
|
|
-# (r'^(.+\.)?api\.pai\.ai', 'pai2.urls_api'),
|
|
|
86
|
+# # (r'^(.+\.)?xfoto\.com\.cn', 'kodo.urls_www'),
|
|
|
87
|
+# (r'^(.+\.)?api\.pai\.ai', 'kodo.urls_api'),
|
|
88
|
88
|
# )
|
|
89
|
89
|
|
|
90
|
|
-ROOT_URLCONF = 'pai2.urls'
|
|
|
90
|
+ROOT_URLCONF = 'kodo.urls'
|
|
91
|
91
|
|
|
92
|
92
|
TEMPLATES = [
|
|
93
|
93
|
{
|
|
|
|
@@ -111,7 +111,7 @@ TEMPLATES = [
|
|
111
|
111
|
},
|
|
112
|
112
|
]
|
|
113
|
113
|
|
|
114
|
|
-WSGI_APPLICATION = 'pai2.wsgi.application'
|
|
|
114
|
+WSGI_APPLICATION = 'kodo.wsgi.application'
|
|
115
|
115
|
|
|
116
|
116
|
|
|
117
|
117
|
# Database
|
|
|
|
@@ -119,7 +119,7 @@ WSGI_APPLICATION = 'pai2.wsgi.application'
|
|
119
|
119
|
|
|
120
|
120
|
DATABASES = {
|
|
121
|
121
|
# Create Database
|
|
122
|
|
- # CREATE DATABASE pai2 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
|
|
|
122
|
+ # CREATE DATABASE kodo DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
|
|
123
|
123
|
'default': {
|
|
124
|
124
|
'ENGINE': 'django.db.backends.mysql',
|
|
125
|
125
|
'NAME': 'kodo',
|
|
|
|
@@ -254,7 +254,7 @@ CURTAIL_UUID_LENGTH = 7 # Used in django-curtail-uuid==1.0.0
|
|
254
|
254
|
|
|
255
|
255
|
# 水印设置
|
|
256
|
256
|
WATERMARK_OR_NOT = False # 水印是否开启
|
|
257
|
|
-WATERMARK_LOGO_PATH = os.path.join(PROJ_DIR, 'static/pai2/img/paiai_water_mark.png').replace('\\', '/') # 水印图片路径
|
|
|
257
|
+WATERMARK_LOGO_PATH = os.path.join(PROJ_DIR, 'static/kodo/img/paiai_water_mark.png').replace('\\', '/') # 水印图片路径
|
|
258
|
258
|
|
|
259
|
259
|
# 原图设置
|
|
260
|
260
|
LENSMAN_PHOTO_ORIGIN_EXPIRED_MSEL = 604800000 # 摄影师原图过期毫秒数,7d = 7 * 24 * 3600 * 1000msel
|
|
|
|
@@ -271,14 +271,14 @@ PAI2_HOME_MAX_ROWS = 400 # 首页照片最大数量,PAI2_HOME_PER_PAGE * PAI2
|
|
271
|
271
|
# 下载页设置
|
|
272
|
272
|
TMPL_DOWNLOAD_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/download.tmpl.html').replace('\\', '/')
|
|
273
|
273
|
|
|
274
|
|
-PAI2_USER_DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_user_adr_download.html').replace('\\', '/')
|
|
275
|
|
-PAI2_USER_DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_user_ios_download.html').replace('\\', '/')
|
|
|
274
|
+PAI2_USER_DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/kodo_user_adr_download.html').replace('\\', '/')
|
|
|
275
|
+PAI2_USER_DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/kodo_user_ios_download.html').replace('\\', '/')
|
|
276
|
276
|
|
|
277
|
|
-PAI2_LENSMAN_DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_lensman_adr_download.html').replace('\\', '/')
|
|
278
|
|
-PAI2_LENSMAN_DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_lensman_ios_download.html').replace('\\', '/')
|
|
|
277
|
+PAI2_LENSMAN_DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/kodo_lensman_adr_download.html').replace('\\', '/')
|
|
|
278
|
+PAI2_LENSMAN_DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/kodo_lensman_ios_download.html').replace('\\', '/')
|
|
279
|
279
|
|
|
280
|
|
-PAI2_TOURGUIDE_DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_tourguide_adr_download.html').replace('\\', '/')
|
|
281
|
|
-PAI2_TOURGUIDE_DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/pai2_tourguide_ios_download.html').replace('\\', '/')
|
|
|
280
|
+PAI2_TOURGUIDE_DOWNLOAD_ADR_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/kodo_tourguide_adr_download.html').replace('\\', '/')
|
|
|
281
|
+PAI2_TOURGUIDE_DOWNLOAD_IOS_PAGE_PATH = os.path.join(BASE_DIR, 'page/templates/page/kodo_tourguide_ios_download.html').replace('\\', '/')
|
|
282
|
282
|
|
|
283
|
283
|
# 下载设置
|
|
284
|
284
|
PAI2_USER_DOWNLOAD_WX_URL = 'https://a.app.qq.com/o/simple.jsp?pkgname=ai.pai.client'
|
|
|
|
@@ -386,7 +386,7 @@ WECHAT_BASE_REDIRECT_URI = '{0}/we/base_redirect'.format(DOMAIN_HTTP)
|
|
386
|
386
|
WECHAT_USERINFO_REDIRECT_URI = '{0}/we/userinfo_redirect'.format(DOMAIN_HTTP)
|
|
387
|
387
|
|
|
388
|
388
|
# 消息图片设置
|
|
389
|
|
-PAI2_LOGO_URL = DOMAIN + '/static/pai2/img/paiai_96_96.png'
|
|
|
389
|
+PAI2_LOGO_URL = DOMAIN + '/static/kodo/img/paiai_96_96.png'
|
|
390
|
390
|
SYSTEM_MESSAGE_AVATAR = PAI2_LOGO_URL
|
|
391
|
391
|
COMMENT_MESSAGE_AVATAR = PAI2_LOGO_URL
|
|
392
|
392
|
THUMBUP_MESSAGE_AVATAR = PAI2_LOGO_URL
|
|
|
|
@@ -395,7 +395,7 @@ THUMBUP_MESSAGE_AVATAR = PAI2_LOGO_URL
|
|
395
|
395
|
REDIS_CACHE = connector(REDIS.get('default', {}))
|
|
396
|
396
|
|
|
397
|
397
|
# Q_CLUSTER = {
|
|
398
|
|
-# 'name': 'pai2',
|
|
|
398
|
+# 'name': 'kodo',
|
|
399
|
399
|
# 'workers': 8,
|
|
400
|
400
|
# 'recycle': 500,
|
|
401
|
401
|
# 'timeout': 60,
|
|
|
|
@@ -411,7 +411,7 @@ DJLOGIT = {
|
|
411
|
411
|
'level': 'DEBUG',
|
|
412
|
412
|
'class': 'rlog.RedisListHandler',
|
|
413
|
413
|
'redis_client': REDIS_CACHE,
|
|
414
|
|
- 'key': 'django:logit:pai2',
|
|
|
414
|
+ 'key': 'django:logit:kodo',
|
|
415
|
415
|
'formatter': 'verbose',
|
|
416
|
416
|
}
|
|
417
|
417
|
|
|
|
|
@@ -1,6 +1,6 @@
|
|
1
|
1
|
# -*- coding: utf-8 -*-
|
|
2
|
2
|
|
|
3
|
|
-"""pai2 URL Configuration
|
|
|
3
|
+"""kodo URL Configuration
|
|
4
|
4
|
|
|
5
|
5
|
The `urlpatterns` list routes URLs to views. For more information please see:
|
|
6
|
6
|
https://docs.djangoproject.com/en/1.8/topics/http/urls/
|
|
|
|
@@ -43,7 +43,7 @@ from website import views as website_views
|
|
43
|
43
|
# router.register(r'photos', photo_views.PhotoInfoViewSet)
|
|
44
|
44
|
|
|
45
|
45
|
urlpatterns = [
|
|
46
|
|
- url(r'^pai2admin/', include(admin.site.urls)),
|
|
|
46
|
+ url(r'^kodoadmin/', include(admin.site.urls)),
|
|
47
|
47
|
]
|
|
48
|
48
|
|
|
49
|
49
|
# urlpatterns += [
|
|
|
|
@@ -72,7 +72,7 @@ urlpatterns = [
|
|
72
|
72
|
# ]
|
|
73
|
73
|
#
|
|
74
|
74
|
# urlpatterns += [
|
|
75
|
|
-# url(r'^$', website_views.pai2_home, name='pai2_home'), # 官网首页
|
|
|
75
|
+# url(r'^$', website_views.kodo_home, name='kodo_home'), # 官网首页
|
|
76
|
76
|
# ]
|
|
77
|
77
|
|
|
78
|
78
|
# Mini App
|
|
|
|
@@ -1,5 +1,5 @@
|
|
1
|
1
|
"""
|
|
2
|
|
-WSGI config for pai2 project.
|
|
|
2
|
+WSGI config for kodo project.
|
|
3
|
3
|
|
|
4
|
4
|
It exposes the WSGI callable as a module-level variable named ``application``.
|
|
5
|
5
|
|
|
|
|
@@ -12,6 +12,6 @@ import os
|
|
12
|
12
|
from django.core.wsgi import get_wsgi_application
|
|
13
|
13
|
|
|
14
|
14
|
|
|
15
|
|
-os.environ.setdefault("DJANGO_SETTINGS_MODULE", "pai2.settings")
|
|
|
15
|
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "kodo.settings")
|
|
16
|
16
|
|
|
17
|
17
|
application = get_wsgi_application()
|
|
|
|
@@ -4,7 +4,7 @@ import sys
|
|
4
|
4
|
|
|
5
|
5
|
|
|
6
|
6
|
if __name__ == "__main__":
|
|
7
|
|
- os.environ.setdefault("DJANGO_SETTINGS_MODULE", "pai2.settings")
|
|
|
7
|
+ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "kodo.settings")
|
|
8
|
8
|
|
|
9
|
9
|
from django.core.management import execute_from_command_line
|
|
10
|
10
|
|
|
|
|
@@ -7,7 +7,7 @@ from django_models_ext import BaseModelMixin
|
|
7
|
7
|
from TimeConvert import TimeConvert as tc
|
|
8
|
8
|
|
|
9
|
9
|
from group.models import GroupPhotoInfo
|
|
10
|
|
-from pai2.basemodels import PaiaiSrcMixin
|
|
|
10
|
+from kodo.basemodels import PaiaiSrcMixin
|
|
11
|
11
|
|
|
12
|
12
|
|
|
13
|
13
|
class UserMessageInfo(BaseModelMixin):
|
|
|
|
@@ -4,7 +4,7 @@ from django.db import models
|
|
4
|
4
|
from django.utils.translation import ugettext_lazy as _
|
|
5
|
5
|
from django_models_ext import BaseModelMixin, upload_file_url, upload_path
|
|
6
|
6
|
|
|
7
|
|
-from pai2.basemodels import PaiaiSrcMixin, PlatformMixin, VersionMixin
|
|
|
7
|
+from kodo.basemodels import PaiaiSrcMixin, PlatformMixin, VersionMixin
|
|
8
|
8
|
|
|
9
|
9
|
|
|
10
|
10
|
class LatestAppInfo(BaseModelMixin, PaiaiSrcMixin):
|
|
|
|
@@ -50,10 +50,10 @@
|
|
50
|
50
|
</div>
|
|
51
|
51
|
|
|
52
|
52
|
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
|
|
53
|
|
- <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.4.js' %}"></script>
|
|
|
53
|
+ <script type="text/javascript" src="{% static 'kodo/js/jswe-0.0.4.js' %}"></script>
|
|
54
|
54
|
<script>
|
|
55
|
55
|
V.initWxData({
|
|
56
|
|
- imgUrl: 'http://pai.ai/static/pai2/img/paiai_96_96.png',
|
|
|
56
|
+ imgUrl: 'http://pai.ai/static/kodo/img/paiai_96_96.png',
|
|
57
|
57
|
link: 'http://pai.ai/w/o?r=http%3A%2F%2Fkodo.xfoto.com.cn%2Fp%2Fclerk%2Finfo',
|
|
58
|
58
|
desc: '店员授权',
|
|
59
|
59
|
title: '店员授权',
|
|
|
|
@@ -176,10 +176,10 @@
|
|
176
|
176
|
{% endif %}
|
|
177
|
177
|
</script>
|
|
178
|
178
|
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
|
|
179
|
|
- <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.4.js' %}"></script>
|
|
|
179
|
+ <script type="text/javascript" src="{% static 'kodo/js/jswe-0.0.4.js' %}"></script>
|
|
180
|
180
|
<script>
|
|
181
|
181
|
V.initWxData({
|
|
182
|
|
- imgUrl: 'http://pai.ai/static/pai2/img/paiai_96_96.png',
|
|
|
182
|
+ imgUrl: 'http://pai.ai/static/kodo/img/paiai_96_96.png',
|
|
183
|
183
|
link: 'http://pai.ai/w/o?r=http%3A%2F%2Fkodo.xfoto.com.cn%2Fp%2Fclerk',
|
|
184
|
184
|
desc: '店员授权',
|
|
185
|
185
|
title: '店员授权',
|
|
|
|
@@ -342,10 +342,10 @@
|
|
342
|
342
|
});
|
|
343
|
343
|
</script>
|
|
344
|
344
|
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
|
|
345
|
|
- <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.4.js' %}"></script>
|
|
|
345
|
+ <script type="text/javascript" src="{% static 'kodo/js/jswe-0.0.4.js' %}"></script>
|
|
346
|
346
|
<script>
|
|
347
|
347
|
V.initWxData({
|
|
348
|
|
- imgUrl: 'http://pai.ai/static/pai2/img/paiai_96_96.png',
|
|
|
348
|
+ imgUrl: 'http://pai.ai/static/kodo/img/paiai_96_96.png',
|
|
349
|
349
|
link: 'http://pai.ai/w/o?r=http%3A%2F%2Fkodo.xfoto.com.cn%2Fp%2Fclerk%2Fsale',
|
|
350
|
350
|
desc: '店员授权',
|
|
351
|
351
|
title: '店员授权',
|
|
|
|
@@ -95,7 +95,7 @@
|
|
95
|
95
|
<div class="container" >
|
|
96
|
96
|
<article class="text-center">
|
|
97
|
97
|
<a href="http://pai.ai">
|
|
98
|
|
- <img src="{% static 'pai2/img/paiai_96_96.png' %}" class="logo">
|
|
|
98
|
+ <img src="{% static 'kodo/img/paiai_96_96.png' %}" class="logo">
|
|
99
|
99
|
</a>
|
|
100
|
100
|
<div class="title">
|
|
101
|
101
|
<a href="http://pai.ai" class="text-blue">拍爱</a>
|
|
|
|
@@ -149,7 +149,7 @@
|
|
149
|
149
|
<div class="container">
|
|
150
|
150
|
<article class="text-center">
|
|
151
|
151
|
<a href="https://pai.ai">
|
|
152
|
|
- <img src="{% static 'pai2/img/paiai_96_96.png' %}" class="logo">
|
|
|
152
|
+ <img src="{% static 'kodo/img/paiai_96_96.png' %}" class="logo">
|
|
153
|
153
|
</a>
|
|
154
|
154
|
<div class="title">
|
|
155
|
155
|
<a href="https://pai.ai" class="text-blue">拍爱</a>
|
|
|
|
@@ -186,10 +186,10 @@
|
|
186
|
186
|
{% endif %}
|
|
187
|
187
|
</script>
|
|
188
|
188
|
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
|
|
189
|
|
- <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.4.js' %}"></script>
|
|
|
189
|
+ <script type="text/javascript" src="{% static 'kodo/js/jswe-0.0.4.js' %}"></script>
|
|
190
|
190
|
<script>
|
|
191
|
191
|
V.initWxData({
|
|
192
|
|
- imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png",
|
|
|
192
|
+ imgUrl: "http://pai.ai/static/kodo/img/paiai_96_96.png",
|
|
193
|
193
|
link: 'http://pai.ai/w/o?r=http%3A%2F%2Fpai.ai%2Fp%2Flensman',
|
|
194
|
194
|
desc: "摄影师授权",
|
|
195
|
195
|
title: "摄影师授权",
|
|
|
|
@@ -32,7 +32,7 @@
|
|
32
|
32
|
</head>
|
|
33
|
33
|
<body>
|
|
34
|
34
|
<div class="container" >
|
|
35
|
|
- <img id="qr_logo" class="hidden" src="{% static 'pai2/img/paiai_96_96.png' %}">
|
|
|
35
|
+ <img id="qr_logo" class="hidden" src="{% static 'kodo/img/paiai_96_96.png' %}">
|
|
36
|
36
|
<div id="qr" class="qr"></div>
|
|
37
|
37
|
</div>
|
|
38
|
38
|
|
|
|
|
@@ -47,10 +47,10 @@
|
|
47
|
47
|
});
|
|
48
|
48
|
</script>
|
|
49
|
49
|
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
|
|
50
|
|
- <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.4.js' %}"></script>
|
|
|
50
|
+ <script type="text/javascript" src="{% static 'kodo/js/jswe-0.0.4.js' %}"></script>
|
|
51
|
51
|
<script>
|
|
52
|
52
|
V.initWxData({
|
|
53
|
|
- imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png",
|
|
|
53
|
+ imgUrl: "http://pai.ai/static/kodo/img/paiai_96_96.png",
|
|
54
|
54
|
link: 'http://pai.ai/w/o?r=http%3A%2F%2Fpai.ai%2Fp%2Floginqr',
|
|
55
|
55
|
desc: "授权登录",
|
|
56
|
56
|
title: "授权登录",
|
|
|
|
@@ -152,7 +152,7 @@
|
|
152
|
152
|
|
|
153
|
153
|
<script type="text/javascript" src="//cdn.bootcss.com/zepto/1.1.6/zepto.min.js"></script>
|
|
154
|
154
|
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
|
|
155
|
|
- <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.4.js' %}"></script>
|
|
|
155
|
+ <script type="text/javascript" src="{% static 'kodo/js/jswe-0.0.4.js' %}"></script>
|
|
156
|
156
|
<script>
|
|
157
|
157
|
{% if modified %}
|
|
158
|
158
|
$(function() {
|
|
|
|
@@ -251,7 +251,7 @@
|
|
251
|
251
|
</script>
|
|
252
|
252
|
<script>
|
|
253
|
253
|
V.initWxData({
|
|
254
|
|
- imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png",
|
|
|
254
|
+ imgUrl: "http://pai.ai/static/kodo/img/paiai_96_96.png",
|
|
255
|
255
|
link: 'http://pai.ai/w/o?r=http%3A%2F%2Fpai.ai%2Fp%2Ftourguide',
|
|
256
|
256
|
desc: "导游授权",
|
|
257
|
257
|
title: "导游授权",
|
|
|
|
@@ -1,88 +0,0 @@
|
|
1
|
|
-# pai2_nginx.conf
|
|
2
|
|
-
|
|
3
|
|
-# the upstream component nginx needs to connect to
|
|
4
|
|
-upstream pai2 {
|
|
5
|
|
- # server unix:///home/paiai/work/pai2/pai2/uwsgi/pai2.sock; # for a file socket
|
|
6
|
|
- server 127.0.0.1:8888; # for a web port socket (we'll use this first)
|
|
7
|
|
-}
|
|
8
|
|
-
|
|
9
|
|
-# configuration of the server
|
|
10
|
|
-server {
|
|
11
|
|
- # the port your site will be served on
|
|
12
|
|
- listen 80;
|
|
13
|
|
- # the domain name it will serve for
|
|
14
|
|
- server_name .img.pai.ai .img.xfoto.com.cn; # substitute your machine's IP address or FQDN
|
|
15
|
|
- charset utf-8;
|
|
16
|
|
-
|
|
17
|
|
- # max upload size
|
|
18
|
|
- client_max_body_size 75M; # adjust to taste
|
|
19
|
|
-
|
|
20
|
|
- # Django media
|
|
21
|
|
- location / {
|
|
22
|
|
- alias /home/paiai/work/pai2/media; # your Django project's media files - amend as required
|
|
23
|
|
- }
|
|
24
|
|
-
|
|
25
|
|
- location /photo {
|
|
26
|
|
- alias /home/paiai/work/pai2/media/photo; # your Django project's media files - amend as required
|
|
27
|
|
- }
|
|
28
|
|
-
|
|
29
|
|
- location /fly {
|
|
30
|
|
- alias /home/paiai/work/pai2/media/fly; # your Django project's media files - amend as required
|
|
31
|
|
- }
|
|
32
|
|
-}
|
|
33
|
|
-
|
|
34
|
|
-# configuration of the server
|
|
35
|
|
-server {
|
|
36
|
|
- # the port your site will be served on
|
|
37
|
|
- listen 80;
|
|
38
|
|
- # the domain name it will serve for
|
|
39
|
|
- server_name .api.pai.ai .api.xfoto.com.cn; # substitute your machine's IP address or FQDN
|
|
40
|
|
- charset utf-8;
|
|
41
|
|
-
|
|
42
|
|
- # max upload size
|
|
43
|
|
- client_max_body_size 75M; # adjust to taste
|
|
44
|
|
-
|
|
45
|
|
- # Django media
|
|
46
|
|
- location /media {
|
|
47
|
|
- alias /home/paiai/work/pai2/media; # your Django project's media files - amend as required
|
|
48
|
|
- }
|
|
49
|
|
-
|
|
50
|
|
- location /static {
|
|
51
|
|
- alias /home/paiai/work/pai2/collect_static; # your Django project's static files - amend as required
|
|
52
|
|
- }
|
|
53
|
|
-
|
|
54
|
|
- # Finally, send all non-media requests to the Django server.
|
|
55
|
|
- location / {
|
|
56
|
|
- # uwsgi_pass pai2;
|
|
57
|
|
- proxy_pass http://pai2;
|
|
58
|
|
- include /home/paiai/work/pai2/pai2/uwsgi/uwsgi_params; # the uwsgi_params file you installed
|
|
59
|
|
- }
|
|
60
|
|
-}
|
|
61
|
|
-
|
|
62
|
|
-# configuration of the server
|
|
63
|
|
-server {
|
|
64
|
|
- # the port your site will be served on
|
|
65
|
|
- listen 80;
|
|
66
|
|
- # the domain name it will serve for
|
|
67
|
|
- server_name .pai.ai .xfoto.com.cn; # substitute your machine's IP address or FQDN
|
|
68
|
|
- charset utf-8;
|
|
69
|
|
-
|
|
70
|
|
- # max upload size
|
|
71
|
|
- client_max_body_size 75M; # adjust to taste
|
|
72
|
|
-
|
|
73
|
|
- # Django media
|
|
74
|
|
- location /media {
|
|
75
|
|
- alias /home/paiai/work/pai2/media; # your Django project's media files - amend as required
|
|
76
|
|
- }
|
|
77
|
|
-
|
|
78
|
|
- location /static {
|
|
79
|
|
- alias /home/paiai/work/pai2/collect_static; # your Django project's static files - amend as required
|
|
80
|
|
- }
|
|
81
|
|
-
|
|
82
|
|
- # Finally, send all non-media requests to the Django server.
|
|
83
|
|
- location / {
|
|
84
|
|
- # uwsgi_pass pai2;
|
|
85
|
|
- proxy_pass http://pai2;
|
|
86
|
|
- include /home/paiai/work/pai2/pai2/uwsgi/uwsgi_params; # the uwsgi_params file you installed
|
|
87
|
|
- }
|
|
88
|
|
-}
|
|
|
|
@@ -1,12 +0,0 @@
|
|
1
|
|
-[program:pai2]
|
|
2
|
|
-command=/home/paiai/env/bin/uwsgi --ini /home/paiai/work/pai2/pai2/uwsgi/pai2.ini
|
|
3
|
|
-autostart=true
|
|
4
|
|
-autorestart=true
|
|
5
|
|
-startretries=3
|
|
6
|
|
-exitcodes=0,1,2
|
|
7
|
|
-stopsignal=KILL
|
|
8
|
|
-stopasgroup=true
|
|
9
|
|
-killasgroup=true
|
|
10
|
|
-stdout_logfile=/var/log/supervisor_pai2_access.log
|
|
11
|
|
-stderr_logfile=/var/log/supervisor_pai2_error.log
|
|
12
|
|
-user=paiai
|
|
|
|
@@ -14,12 +14,12 @@
|
|
14
|
14
|
|
|
15
|
15
|
/* For Download Section */
|
|
16
|
16
|
.download_section {position:fixed;right:0;bottom:0;left:0;height:55px;padding:5px;background:#f0f0f0;box-sizing:border-box}
|
|
17
|
|
- .pai2_icon {width:45px;height:45px;float:left}
|
|
18
|
|
- .pai2_icon>img {width:100%;height:100%}
|
|
19
|
|
- .pai2_desc {height:45px;padding:5px 0 0 5px;float:left}
|
|
20
|
|
- .pai2_name {padding-top:2px;font-size:14px;text-align:left}
|
|
21
|
|
- .pai2_des {padding-top:2px;font-size:12px;line-height:23px;color:#8f8f8f;text-align:left}
|
|
22
|
|
- .pai2_download {position:relative;top:5px;width:100px;height:35px;line-height:35px;text-align:center;background:#d13621;color:#fff;border-radius:5px;float:right;text-decoration:none}
|
|
|
17
|
+ .kodo_icon {width:45px;height:45px;float:left}
|
|
|
18
|
+ .kodo_icon>img {width:100%;height:100%}
|
|
|
19
|
+ .kodo_desc {height:45px;padding:5px 0 0 5px;float:left}
|
|
|
20
|
+ .kodo_name {padding-top:2px;font-size:14px;text-align:left}
|
|
|
21
|
+ .kodo_des {padding-top:2px;font-size:12px;line-height:23px;color:#8f8f8f;text-align:left}
|
|
|
22
|
+ .kodo_download {position:relative;top:5px;width:100px;height:35px;line-height:35px;text-align:center;background:#d13621;color:#fff;border-radius:5px;float:right;text-decoration:none}
|
|
23
|
23
|
/* For PC */
|
|
24
|
24
|
body, .download_section {
|
|
25
|
25
|
max-width: 414px !important;
|
|
|
|
@@ -35,22 +35,22 @@
|
|
35
|
35
|
</div>
|
|
36
|
36
|
|
|
37
|
37
|
<div id="download_section" class="download_section">
|
|
38
|
|
- <div class="pai2_icon">
|
|
39
|
|
- <img src="{% static 'pai2/img/paiai_96_96.png' %}">
|
|
|
38
|
+ <div class="kodo_icon">
|
|
|
39
|
+ <img src="{% static 'kodo/img/paiai_96_96.png' %}">
|
|
40
|
40
|
</div>
|
|
41
|
|
- <div class="pai2_desc">
|
|
42
|
|
- <div class="pai2_name">拍爱</div>
|
|
43
|
|
- <div class="pai2_des">即拍即分享</div>
|
|
|
41
|
+ <div class="kodo_desc">
|
|
|
42
|
+ <div class="kodo_name">拍爱</div>
|
|
|
43
|
+ <div class="kodo_des">即拍即分享</div>
|
|
44
|
44
|
</div>
|
|
45
|
|
- <a href="https://api.pai.ai/op/download" target="_blank" id="pai2_download" class="pai2_download">立即下载</a>
|
|
|
45
|
+ <a href="https://api.pai.ai/op/download" target="_blank" id="kodo_download" class="kodo_download">立即下载</a>
|
|
46
|
46
|
</div>
|
|
47
|
47
|
|
|
48
|
48
|
<script type="text/javascript" src="//cdn.bootcss.com/zepto/1.1.6/zepto.min.js"></script>
|
|
49
|
49
|
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
|
|
50
|
|
- <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.4.js' %}"></script>
|
|
|
50
|
+ <script type="text/javascript" src="{% static 'kodo/js/jswe-0.0.4.js' %}"></script>
|
|
51
|
51
|
<script>
|
|
52
|
52
|
V.initWxData({
|
|
53
|
|
- imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png",
|
|
|
53
|
+ imgUrl: "http://pai.ai/static/kodo/img/paiai_96_96.png",
|
|
54
|
54
|
link: window.location.href,
|
|
55
|
55
|
desc: "我使用拍爱分享了一张美图,你也快来试试吧",
|
|
56
|
56
|
title: "拍爱",
|
|
|
|
@@ -14,12 +14,12 @@
|
|
14
|
14
|
|
|
15
|
15
|
/* For Download Section */
|
|
16
|
16
|
.download_section {position:fixed;right:0;bottom:0;left:0;height:55px;padding:5px;background:#f0f0f0;box-sizing:border-box}
|
|
17
|
|
- .pai2_icon {width:45px;height:45px;float:left}
|
|
18
|
|
- .pai2_icon>img {width:100%;height:100%}
|
|
19
|
|
- .pai2_desc {height:45px;padding:5px 0 0 5px;float:left}
|
|
20
|
|
- .pai2_name {padding-top:2px;font-size:14px;text-align:left}
|
|
21
|
|
- .pai2_des {padding-top:2px;font-size:12px;line-height:23px;color:#8f8f8f;text-align:left}
|
|
22
|
|
- .pai2_download {position:relative;top:5px;width:100px;height:35px;line-height:35px;text-align:center;background:#d13621;color:#fff;border-radius:5px;float:right;text-decoration:none}
|
|
|
17
|
+ .kodo_icon {width:45px;height:45px;float:left}
|
|
|
18
|
+ .kodo_icon>img {width:100%;height:100%}
|
|
|
19
|
+ .kodo_desc {height:45px;padding:5px 0 0 5px;float:left}
|
|
|
20
|
+ .kodo_name {padding-top:2px;font-size:14px;text-align:left}
|
|
|
21
|
+ .kodo_des {padding-top:2px;font-size:12px;line-height:23px;color:#8f8f8f;text-align:left}
|
|
|
22
|
+ .kodo_download {position:relative;top:5px;width:100px;height:35px;line-height:35px;text-align:center;background:#d13621;color:#fff;border-radius:5px;float:right;text-decoration:none}
|
|
23
|
23
|
/* For PC */
|
|
24
|
24
|
body, .download_section {
|
|
25
|
25
|
max-width: 414px !important;
|
|
|
|
@@ -37,22 +37,22 @@
|
|
37
|
37
|
</div>
|
|
38
|
38
|
|
|
39
|
39
|
<div id="download_section" class="download_section">
|
|
40
|
|
- <div class="pai2_icon">
|
|
41
|
|
- <img src="{% static 'pai2/img/paiai_96_96.png' %}">
|
|
|
40
|
+ <div class="kodo_icon">
|
|
|
41
|
+ <img src="{% static 'kodo/img/paiai_96_96.png' %}">
|
|
42
|
42
|
</div>
|
|
43
|
|
- <div class="pai2_desc">
|
|
44
|
|
- <div class="pai2_name">拍爱</div>
|
|
45
|
|
- <div class="pai2_des">即拍即分享</div>
|
|
|
43
|
+ <div class="kodo_desc">
|
|
|
44
|
+ <div class="kodo_name">拍爱</div>
|
|
|
45
|
+ <div class="kodo_des">即拍即分享</div>
|
|
46
|
46
|
</div>
|
|
47
|
|
- <a href="https://api.pai.ai/op/download" target="_blank" id="pai2_download" class="pai2_download">立即下载</a>
|
|
|
47
|
+ <a href="https://api.pai.ai/op/download" target="_blank" id="kodo_download" class="kodo_download">立即下载</a>
|
|
48
|
48
|
</div>
|
|
49
|
49
|
|
|
50
|
50
|
<script type="text/javascript" src="//cdn.bootcss.com/zepto/1.1.6/zepto.min.js"></script>
|
|
51
|
51
|
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
|
|
52
|
|
- <script type="text/javascript" src="{% static 'pai2/js/jswe-0.0.4.js' %}"></script>
|
|
|
52
|
+ <script type="text/javascript" src="{% static 'kodo/js/jswe-0.0.4.js' %}"></script>
|
|
53
|
53
|
<script>
|
|
54
|
54
|
V.initWxData({
|
|
55
|
|
- imgUrl: "http://pai.ai/static/pai2/img/paiai_96_96.png",
|
|
|
55
|
+ imgUrl: "http://pai.ai/static/kodo/img/paiai_96_96.png",
|
|
56
|
56
|
link: window.location.href,
|
|
57
|
57
|
desc: "我使用拍爱分享了一张美图,你也快来试试吧",
|
|
58
|
58
|
title: "拍爱",
|
|
|
|
@@ -1,6 +1,6 @@
|
|
1
|
1
|
# -*- coding: utf-8 -*-
|
|
2
|
2
|
|
|
3
|
|
-from pai2.basemodels import PlatformMixin
|
|
|
3
|
+from kodo.basemodels import PlatformMixin
|
|
4
|
4
|
from utils.redis.connect import r
|
|
5
|
5
|
from utils.redis.rkeys import APP_PATCH_INFO
|
|
6
|
6
|
|
|
|
|
@@ -1,6 +1,6 @@
|
|
1
|
1
|
# -*- coding: utf-8 -*-
|
|
2
|
2
|
|
|
3
|
|
-from pai2.basemodels import PlatformMixin
|
|
|
3
|
+from kodo.basemodels import PlatformMixin
|
|
4
|
4
|
from utils.redis.connect import r
|
|
5
|
5
|
from utils.redis.rkeys import APP_SETTINGS_INFO
|
|
6
|
6
|
|
|
|
|
@@ -4,5 +4,5 @@ from django.conf import settings
|
|
4
|
4
|
from django.shortcuts import redirect
|
|
5
|
5
|
|
|
6
|
6
|
|
|
7
|
|
-def pai2_home(request):
|
|
|
7
|
+def kodo_home(request):
|
|
8
|
8
|
return redirect(settings.WEBSITE_MOBI if request.mobile else settings.WEBSITE_PC)
|