Django pan的OpenStack

2024-04-23 17:28:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我在开放堆栈中创建了一个面板。我想做的是生成一个简单的页面,当加载时,它会调用一个状态,然后将该状态(好的、坏的、警告的)放入一个带有组合框的页面中,并且有一个submit按钮,当hit返回到python代码时,我可以根据这个状态做我想做的事情。在

他们用我的方式做了一个有选择区的表格。我有一个班级索引(视图.apiews)我相信是从露天的烟囱里。它有一个get_data方法,名为where I can go get the data and return a context。我还没有找到一个例子,你可以在将状态传递给表单的上下文中设置something。Like context['status']=“好”。。 我得到的是当页面被加载时,get_nudata被调用,而我什么也不做。提交按钮在那里,但没有“Status:(组合框)”,我点击submit,状态被一个POST调用。表格有效吗()为false,它返回一个带有传入的窗体的呈现请求.POST. 这会让一个表单出现,我可以点击Submit,然后我会收到一个调用status的.POST和is\u valid is true,它会像我想要的那样重定向到thanks。只是我无法在get_data的表单中获取数据。在

这是我的代码:

在py.py视图在

from horizon import views
from django import forms
from django.shortcuts import render
from django.http import HttpResponseRedirect


STATUS_CHOICES = (
    ("GOOD", "Good"),
     ("BAD", "Bad"),
     ("COMPROMISED", "Compromised")
)

def thanks(request):
    return render(request, 'pinehurst_dashboard/ssa_panel/sent.html')

class SsaForm(forms.Form):
    status = forms.ChoiceField(choices = STATUS_CHOICES, label="Status:")

def status(request):
    print("STATUS CALLED method=",request.method)
    if request.method == 'POST': # If the form has been submitted...
        form = SsaForm(request.POST) # A form bound to the POST data
        if form.is_valid(): # All validation rules pass
            # Process the data in form.cleaned_data
            # ...
            print("redirect to THANKS!")
            return HttpResponseRedirect('thanks/') # Redirect after POST
        else:
            print("form.is_valid = false")
    else:
        print("Requesting form\n")
        form = SsaForm(initial = {"status", "BAD"}) # An unbound form

    return render(request, 'pinehurst_dashboard/ssa_panel/index.html', {
        'form': form,
    })

class IndexView(views.APIView):
    # A very simple class-based view...
    template_name = 'my_dashboard/ssa_panel/index.html'

    def get_data(self, request, context, *args, **kwargs):
        print("GET_DATA Called", context)
        # Add data to the context here...
        return context

在网址.py在

^{pr2}$

什么都没有模型.py在

我的仪表板/ssa面板/索引.html在

^{3}$

Tags: thefrompyimportformdatagetreturn