因此,我配置了一个网站,允许我将来自 wave 区块链的数据显示到在 AWS EC2 实例上运行的 django 站点上。
我使用 bitnami 将 django 的堆栈映像安装到服务器上。
该网页的工作方式如下所示 www.wavesico.tk/Project/get-ico/jacks-easter-eggs
Django 版本 = 1.11.6
我的 url 正确指向我的视图(因为上面的 URL 有效) urls.py:
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', default_urlconf),
url(r'^createICO/$', initialForm),
url(r'^get-ico/([\w-]+)/$', crowdFund),
]
在我的视图文件中,我包括:
from django.views.decorators.clickjacking import xframe_options_exempt
和
@xframe_options_exempt
def crowdFund(request, company_name):
c = WavesCompany.objects.get(name=company_name)
data = tokens.getTokenData(c.holdersKey, c.tokenKey)
return render(request, 'crowd_fund.html', data)
我还在我的设置文件中包含了中间件:
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
但是,Chrome 仍然在框架中报告错误“拒绝显示” https://www.wavesico.tk/Project/get-ico/jacks-easter-eggs/,因为它将“X-Frame-Options”设置为“同源
我尝试将“render()”函数更改为“HttpResponse”,但仍然没有运气。
谢谢大家,杰克