为什么不能和原有的服务器放在一起, 这个服务器,更对的是对外, 内网服务器,访问量小,但数据可以相互访问,技术不是问题。
django + DRF
在终端建立python3 虚拟环境
mkvirtualenv --python=/usr/bin/python3 py3-env
没有加 sudo
, 没有报错, 结果正常,直接进入虚拟环境
豆瓣源 -i https://pypi.douban.com/simple/
安装依赖
pip3 install django
pip3 install django -i https://pypi.doubanio.com/simple/
pip3 install -i https://pypi.douban.com/simple/ django
第二步 对项目的目录进行整理
在项目二级目录 添加 apps python page
在settings中添加
import os
import sys
# Build paths inside the project like this: os.path.
join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 把 自己添加的目录 在import的时候, 不会报错 BASE_DIR 是项目根目录, 特别是windows 的 cmd
sys.path.insert(0, BASE_DIR)
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
第三步 设置url
根urls
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('', include('wechat.urls')), # 微信 路由分支
path('admin/', admin.site.urls),
# path('a/', include('rest_framework.urls'))
# path('', SnippetList.as_view())
]
app的 子 urls的设置
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from . import views
router = DefaultRouter()
urlpatterns = [
path('', views.SnippetList.as_view()),
]
第四部 设置 views 返回
from rest_framework.views import APIView
from rest_framework.response import Response
# Create your views here.
class SnippetList(APIView):
"""
List all snippets, or create a new snippet.
"""
def get(self, request, format=None):
return Response('我是微信')
到现在,已经可以返回给前端请求数据了,
但没有设置:
数据库
权限
认证
如果是纯后端,而且是不需要登录认证的,要考虑安全问题。
特别是某些post请求, 不能不受限制的一直保存到数据。要有一定的验证方式, 如果是全局的,要设置到中间件中。
由于首先要考虑配置微信公众号, 所以,根路由,配置成微信公众号的根, 但这个服务,可以配置其他的url,供其他的项目使用