Django 在iframe里跳转顶层url的例子

描述

A网页为一个专门设计的登录页面login.html,通过iframe嵌套在B页面中index.html,登录后会进入后台C页面consule.html.问题来了,登录成功后,通过Django-url跳转,页面一直在iframe里面,没有跳出嵌入的框架中。

解决方法

通过HttpResponse来返回一段js脚本,直接让你丫的跳,代码如下

def login(request):
  login_form = loginForm()
  if request.method == 'POST':
    login_form = loginForm(request.POST)
    if login_form.is_valid():
      username = login_form.data['username']
      #通过js来跳转页面,取巧
      jump_to_console = '''<html><body onLoad="window.top.location.href='./index_console'" ></body></html>'''
      response = HttpResponse(jump_to_consule)
      response.set_cookie("username",username")
      return response
    else:
      pass
  return render_to_response('login_iframe.html', {'form': login_form},)

以上这篇Django 在iframe里跳转顶层url的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2019-08-19

在Django中URL正则表达式匹配的方法

Django框架中的URL分发采用正则表达式匹配来进行,以下是正则表达式的基本规则: 官方演示代码: from django.conf.urls import url from . import views urlpatterns = [ url(r'^articles/2003/$', views.special_case_2003), url(r'^articles/([0-9]{4})/$', views.year_archive), url(r'^articles/([0-9]{4})/

在Django的URLconf中使用多个视图前缀的方法

在实践中,如果你使用字符串技术,特别是当你的 URLconf 中没有一个公共前缀时,你最终可能混合视图. 然而,你仍然可以利用视图前缀的简便方式来减少重复. 只要增加多个 patterns() 对象,象这样: 旧的: from django.conf.urls.defaults import * urlpatterns = patterns('', (r'^hello/$', 'mysite.views.hello'), (r'^time/$', 'mysite.views.current_da

Django的URLconf中使用缺省视图参数的方法

一个方便的特性是你可以给一个视图指定默认的参数. 这样,当没有给这个参数赋值的时候将会使用默认的值. 例子: # urls.py from django.conf.urls.defaults import * from mysite import views urlpatterns = patterns('', (r'^blog/$', views.page), (r'^blog/page(?P<num>\d+)/$', views.page), ) # views.py def page(r

关于AngularJS中ng-repeat不更新视图的解决方法

最近写AngularJS项目中,遇到一个问题,先对数组进行赋值,ng--repeat正常工作,然后对数组进行修改,ng-repeat似乎没有工作,视图没有更新. 原因是ng-repeat会已默认值排序,由于我的数组中的元素有重复,所以ng-repeat没有对重复的元素进行刷新,只要对ng-repeat指定track by就可以了 <tr ng-repeat="selectedCriterias in selectedCriteriasArray track by $index"&

在Django的URLconf中进行函数导入的方法

看下这个 URLconf: from django.conf.urls.defaults import * from mysite.views import hello, current_datetime, hours_ahead urlpatterns = patterns('', (r'^hello/$', hello), (r'^time/$', current_datetime), (r'^time/plus/(\d{1,2})/$', hours_ahead), ) 在 URLconf

在Django的URLconf中使用命名组的方法

在我们想要捕获的URL部分上加上小括号,Django 会将捕获的文本作为位置参数传递给视图函数. 在更高级的用法中,还可以使用 命名 正则表达式组来捕获URL,并且将其作为关键字参数传给视图. 一个 Python 函数可以使用关键字参数或位置参数来调用,在某些情况下,可以同时进行使用. 在关键字参数调用中,你要指定参数的名字和传入的值. 在位置参数调用中,你只需传入参数,不需要明确指明哪个参数与哪个值对应,它们的对应关系隐含在参数的顺序中. 例如,考虑这个简单的函数: def sell(item

Domino中运用jQuery读取视图内容的方法

jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTML documents.events.实现动画效果,并且方便地为网站或系统提供AJAX交互. 在Domino中应用jQuery框架能够大量简化js代码,并使得js的程序更加简洁和直观,下面是一个简单的例子,在表单中简单运用jQuery来读取视图内容. 1.在表单中加入以下代码并内置HTML: html 代码: <input type=button onclick="GetViewContent()"

Django框架中处理URLconf中特定的URL的方法

有时你有一个模式来处理在你的URLconf中的一系列URL,但是有时候需要特别处理其中的某个URL. 在这种情况下,要使用将URLconf中把特殊情况放在首位的线性处理方式 . 比方说,你可以考虑通过下面这个URLpattern所描述的方式来向Django的管理站点添加一个目标页面 urlpatterns = patterns('', # ... ('^([^/]+)/([^/]+)/add/$', views.add_stage), # ... ) 这将匹配像 /myblog/entries/

Django框架下在URLconf中指定视图缓存的方法

将视图与缓存系统进行了耦合,从几个方面来说并不理想. 例如,你可能想在某个无缓存的站点中重用该视图函数,或者你可能想将该视图发布给那些不想通过缓存使用它们的人. 解决这些问题的方法是在 URLconf 中指定视图缓存,而不是紧挨着这些视图函数本身来指定. 完成这项工作非常简单: 在 URLconf 中用到这些视图函数的时候简单地包裹一个 cache_page .以下是刚才用到过的 URLconf : 这是之前的URLconf: urlpatterns = ('', (r'^foo/(\d{1,2

django中的HTML控件及参数传递方法

本文对djangoHTML的表单控件中的单选及多选进行介绍,并说明如何进行参数传递. 1.HTML中的表单控件: 在HTML中表单的书写一般为: <form method="post" action=""> 这个method代表方法,方法一般有两个一个是'post',一个是'get',action是提交表单到何处,可填写一个网址.不填则默认到本页面. {%csrf_token%} 这个是django中的一个标签,用于防止恶意攻击使用,如果不加入这个标签,

Django应用程序中如何发送电子邮件详解

前言 在Django应用程序中发送电子邮件最常见的用例是密码重置.帐户激活和发送与您的应用程序相关的一般通知.下面来看看详细的介绍吧. 配置Django发送电子邮件 要配置您的Django应用程序,添加下面的参数到你settings.py: # 主机 EMAIL_HOST = "smtp.sina.com" # 端口 EMAIL_PORT = 25 # 发件人邮箱 EMAIL_HOST_USER = "anshengme@sina.com" # 密码 EMAIL_H