我想同步pythonanywhere项目与github帐户。就像我在github的项目中做了更改一样,它会在pythonanywhere自动更新。原谅我我是github的新手。
发布于 2019-01-19 14:33:45
我刚为我自己的Pythonanywhere项目解决了这个问题。我不想费心使用SSH密钥,所以我使用了Github和运行在pythonanywhere帐户上的Python脚本。Python脚本在更新源代码时侦听Github发出的web钩子,并在pythonanywhere上执行一个脚本以提取新文件。
下面是一个场景:
提示:
git init,然后输入git remote add origin https://github.com/yourusername/yourreponame.git.git/hooks/下。这个bash文件将执行一个简单的git pull origin master我的flask_app.py文件的内容:
from flask import Flask, request
import git
app = Flask(__name__)
@app.route('/webhook', methods=['POST'])
def webhook():
if request.method == 'POST':
repo = git.Repo('./myproject')
origin = repo.remotes.origin
repo.create_head('master',
origin.refs.master).set_tracking_branch(origin.refs.master).checkout()
origin.pull()
return '', 200
else:
return '', 400
#
# Below here follows you python back-end code
#如果你需要更多的信息,请告诉我。
发布于 2018-01-01 06:51:01
你可以考虑:
如果您只想在pythonanywhere上进行开发,就需要生成一个SSH密钥,并按照“GitHub”中的建议将公共密钥添加到您的如何在PythonAnywhere中输入和输出代码帐户中。
发布于 2021-01-19 23:43:16
Django
首先,您需要安装gitpython:pip install gitpython
更新views.py
from django.http import HttpResponse
from git import Repo #
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def webhook(request):
if request.method == 'POST':
repo = Repo('./django-schools')
git = repo.git
git.checkout('master')
git.pull()
return HttpResponse('pulled_success')
return HttpResponse('get_request', status=400)https://stackoverflow.com/questions/48047123
复制相似问题