首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在django项目中集成python脚本

如何在django项目中集成python脚本
EN

Stack Overflow用户
提问于 2022-04-26 11:24:55
回答 1查看 86关注 0票数 0

因此,我对编程非常陌生,并且对这个问题束手无策,我正在使用python和Django和Mongodb作为数据库。我需要编写一个服务,为每个用户表单提交分配ID (而不是mongodb分配的ID)。例如,条目1的ID将是由用户2101输入的前缀,条目2的ID将是由用户2102输入的前缀,因此它基本上添加在数字2100中。我不知道如何和在哪里将这个逻辑集成到我的代码中。我在互联网上尝试过一些解决方案,但似乎没有什么效果。

我的代码:

Model.py

类记录(文档):

代码语言:javascript
复制
blog_id = 2100
title = fields.StringField(max_length=120)
date_created = fields.DateField(blank=True, null=True)
date_modified = fields.DateField(blank=True, null=True)
version_number = fields.DecimalField(null= True , max_digits=1000, decimal_places=2)
storage_path = fields.StringField(max_length=120)
STRIKE_READY_BRIEF = 'SRB'
STRIKE_READY_THREAT_REPORT = 'SRTR'
PREFIX_CHOICES = [
    (STRIKE_READY_BRIEF, 'SRB'),
    (STRIKE_READY_THREAT_REPORT, 'SRTR'),
]
prefix = fields.StringField(
    max_length=4,
    choices=PREFIX_CHOICES,
    null=False,
    blank=False,
    )

views.py:

@csrf_exempt def writeups_request(请求):

代码语言:javascript
复制
"""
Writeup Request
"""
if request.method == 'GET':
    try:
        data = {
            'form-TOTAL_FORMS': '1',
            'form-INITIAL_FORMS': '0',
        }
        writeups = WriteupsFormset(data)
        # print(writeup)
        return render(request, "writeups/writeups.html", {'writeups_forms': writeups})
    except Exception as e:
        print(e)
        response = {"error": "Error occurred"}
        return JsonResponse(response, safe=False)
if request.method == 'POST':
    writeup_data = WriteupsFormset(request.POST)
    if writeup_data.is_valid():
        flag = False
        logs = []
        for writeups_data in writeup_data:
            print(writeups_data)
            if writeups_data.cleaned_data.get('DELETE'):  # and malware_data._should_delete_form(form):
                continue
            title = writeups_data.cleaned_data.get('title')
            date_created = writeups_data.cleaned_data.get('date_created')
            date_modified = writeups_data.cleaned_data.get('date_modified')
            version_number = writeups_data.cleaned_data.get('version_number')
            storage_path = writeups_data.cleaned_data.get('storage_path')
            prefix = writeups_data.cleaned_data.get('prefix')
            try:
                writeups = Writeups(),
                                  title=title,
                                  date_created=date_created,
                                  date_modified=date_modified,
                                  version_number=version_number,
                                  storage_path=storage_path,
                                  prefix=prefix)

                writeups.save() 
EN

回答 1

Stack Overflow用户

发布于 2022-04-26 11:51:03

为了在所有提交时实现您的自定义脚本,Django的Signals是您的用例的解决方案。查看post_savepre-save信号,并根据您的问题使用它们。

https://docs.djangoproject.com/en/3.2/ref/signals/

如果您有一个现有的数据库,并且希望脚本迭代并更新数据集,则可以查看Management Commands

https://docs.djangoproject.com/en/4.0/howto/custom-management-commands/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72013081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档