python - 在另一个 Python 脚本中使用 POST 方法创建 Django 模型实例
问题描述
所以我有一个 django 应用程序,其中包含一些模型,我可以通过管理员和面向客户端的站点进行操作,例如添加实例等。但是,我想尝试一些与此不同的东西。我有一个 Python 脚本,它使用基于这些相同模型的 POST 和 JSON 对象,我希望能够运行它,通过端口连接到我的 django 应用程序服务器并创建我的模型的新实例(基本上不使用 Admin 或我的客户页面)。有什么想法我该怎么做?
解决方案
如果脚本的作用很简单,那么最简单的方法就是创建一个接收 JSON、处理它并返回一个JsonResponse
.
例如
def create_object(request):
if request.method == 'POST':
data = json.loads(request.body)
# Do something with the data - e.g. create a model instance
MyModel.objects.create(**data)
return JsonResponse({'status': 'created'})
或者,如果脚本做了更复杂的事情,或者如果您打算将来扩展它,您可能最好使用Django Rest Framework之类的东西通过 REST API 公开您的网站。
使用 Django Rest Framework,您可以使用 ModelViewSet 和 ModelSerializer 等组件在模型周围相当快速地构建基于 CRUD 的 API,并以最少的代码通过 REST 公开它们。
推荐阅读
- orchardcms - 有没有办法在放置和渲染发生之前改变 Orchard 内容形状的显示类型?
- html - 为我的网站制作简单的图像滑块
- templates - 模板中除最后一项之外的所有内容的 Wagtail 基本菜单分隔符
- kubernetes - 由于 GCP 服务帐户,Pod 在 Kubernetes 中获得了 CrashLoopBackOff
- sql-server - 计数日的 T-SQL 脚本
- python - 如何使对象在 tkinter 中不断移动
- html - 响应式缩放绝对定位的元素
- jquery - 有没有办法旋转 HTML 选择框的内容?
- unreal-engine4 - 为多个网格创建通用蓝图
- reactjs - 在 Sagas 测试中没有调用我的模拟函数