【问题标题】:How to call a function in view by clicking a button in django?如何通过单击 django 中的按钮来调用视图中的函数?
【发布时间】:2016-10-14 06:34:54
【问题描述】:

我正在尝试从我的 html 模板调用函数 ssl_verify。但它给出了 404 错误。谁能帮我这个?我哪里错了?

#views.py
def ssl_verify( request , dns, port ):

if request.is_ajax():

    result = dns + port  
    return result

#urls.py
url(r'ssl_verify/(\d+)/(\d+)/$', views.ssl_verify,name='ssl_verify'),

#script in html 
function verify()
{

dns = document.getElementById("dns1").value;

port = document.getElementById("port1").value;

 $.post('ssl_verify/'+dns+'/'+port+'/', function (data) {

          alert (data) ;

            });
          }

【问题讨论】:

  • 您帖子中的网址可能是错误的。查看浏览器工具中调用的内容。

标签: javascript jquery python html django


【解决方案1】:

您的 urls.py 必须包含(替换正则表达式行)

url(r'^ssl_verify/(?P<dns>[^/]+)/(?P<port>[^/]+)/$','views.check_ssl'),

或者如果你导入:

from views import check_ssl

....

url(r'^ssl_verify/(?P<dns>[^/]+)/(?P<port>[^/]+)/$','check_ssl'),

和你的观点:

from django.http import HttpResponse

def check_ssl( request , dns, port ):

    if request.is_ajax():
        message = str(dns)+str(port)
        return HttpResponse(message)

    else:
        return  HttpResponse('/faulthandler') # declare in urls if needed

【讨论】:

  • 怎么在ajax调用中调用url?我现在打电话的方式说没有找到网址。到你给定的 url 怎么称呼它? @dmitryro
  • $.get("yourdomain.com/ssl_verify/"+dns+"/"+port, function(data) { alert(data); });
猜你喜欢
  • 2020-12-22
  • 2016-09-16
  • 2019-10-03
  • 2012-11-09
  • 2017-10-01
  • 2016-12-08
  • 2015-12-11
  • 2019-12-23
  • 2018-12-27
相关资源
最近更新 更多