2017-11-18 82 views
0

我有以下Django的REST API终点Django的模板URL不叫Django的REST API

url(r'^api/email-verification/(?P<pk>[0-9]+)/$', EmailVerificationApiView.as_view(), name="email-verified") 

和下面是我在哪里应用此API来验证用户,即点击之后下面Activate HTML模板链接,上面提到的API端点将被调用,并在后端用户将flaged验证,但与点击的HTML按钮,它不会调用API。

<body> 
      <tr> 
      <td class="button"> 
       <div><!--[if mso]> 
       <v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="http://" style="height:45px;v-text-anchor:middle;width:155px;" arcsize="15%" strokecolor="#ffffff" fillcolor="#ff6f6f"> 
        <w:anchorlock/> 
        <center style="color:#ffffff;font-family:Helvetica, Arial, sans-serif;font-size:14px;font-weight:regular;">My Account</center> 
       </v:roundrect> 
        <a href="{% url 'email-verified' user_id %}"> 
        Activate 
        </a> 
       </div> 
      </td> 
      </tr> 
<body> 

点击Actvate按钮后,它重定向我另一个页面这给下面的语句

Redirect Notice 
     The page you were on is trying to send you to an invalid URL (http:///api/email-verification/103/). 

    If you do not want to visit that page, you can return to the previous page. 

。我是在Django相对较新,Django的休息api.Is有没有其他特殊的方式来调用Django休息api在Django的模板url标签?

在提,API是一个POST API和上面给出的HTML模板是一个电子邮件模板。

+0

我想这个答案可能会有所帮助:https://stackoverflow.com/questions/25345392/how-to-add -url-parameters-to-django-template-url-tag –

+0

我更新了我的问题。 – RTan

+0

什么是''标签 – Satendra

回答

-1

在模板中你有

{% url 'email-verified' user_id %} 

它应该是:

{% url 'email-verified' pk=user_id %} 
+0

href =“http://”的目的我不工作,我也更新了我的问题。点击Activate按钮后,它会将我的网页重定向到一个页面,这表明我正尝试在无效url中重定向,例如http:/// api/email-verification/103 /'。它实际上是从一开始就发生的,对不起,我最初没有给它。 – RTan

+0

在http://''部分:'http:/// api/email-verification/103 /' –

+1

之后,您在url中获得了一个额外的'/'另外,在阅读包含事实上,你的api期待'post':你如何期待一个带有''链接的帖子?要提交帖子,你需要一个表单。而且您无法从邮件正文中提交帖子。 –