我正在尝试使用Django创建一个Web前端来执行各种管理任务。我从来不需要一个前端,但现在他们想要不同的BU来使用它们,他们需要一些漂亮的按钮。所以我想做的是:
现在我可以发布数据,我可以使用args运行脚本,我只是不知道如何将两者结合起来。我将非常感谢您对我应该研究的任何帮助或提示。我没有发布片段,因为我必须对它们进行消毒,但如果需要,我可以根据要求提供消息。
答案 0 :(得分:1)
直接交互的最简单方法是利用Ajax,使用Ajax Post将JSON
发送到Django,然后将参数作为dict()
处理。这是一个例子:
在浏览器(JQuery / JavaScript)中:
function newModule() {
var my_data = $("#my_element").val(); // Whatever value you want to be sent.
$.ajax({
url: "{% url 'modules' %}", // Handler as defined in Django URLs.
type: "POST", // Method.
dataType: "json", // Format as JSON (Default).
data: {
path: my_data, // Dictionary key (JSON).
csrfmiddlewaretoken:
'{{ csrf_token }}' // Unique key.
},
success: function (json) {
// On success do this.
},
error: function (xhr, errmsg, err) {
// On failure do this.
}
});
在服务器引擎(Python)中:
def handle(request):
# Post request containing the key.
if request.method == 'POST' and 'my_data' in request.POST.keys():
# Retrieving the value.
my_data = request.POST['my_data']
# ...
现在您只需要指示HTML表单调用JavaScript函数并将数据传递给引擎。
要在成功后将用户重定向到其他页面,您可以在success
功能中使用此功能:
window.location.href = "http://www.example.com";
其中模拟类似于单击锚标记(链接)的反应。
希望这有帮助。