javascript - 尝试加载图像时写入 {% load static %} 时出现语法错误
问题描述
您好,我正在用 reactjs 和 django 做一个小项目,我需要从组件加载静态图像,我想做的是在渲染方法中添加 {% load static %},但它给了我一个错误,我不知道为什么,因为我把它写在我的主要 index.html 中并且它没有给我任何错误!这是代码:
import React, { Component } from 'react';
export default class TopBar extends Component {
constructor(props) {
super(props);
}
register(){
var x = document.getElementById("login");
var y = document.getElementById("register");
var z = document.getElementById("joinBtn");
x.style.left = "-400px";
y.style.left = "50px";
z.style.left = "110px";
}
login(){
console.log('I was triggered during render')
var x = document.getElementById("login");
var y = document.getElementById("register");
var z = document.getElementById("joinBtn");
x.style.left = "50px";
y.style.left = "450px";
z.style.left = "0px";
}
render(){
return (
<div class="hero">
<div class="form-box">
<div class="button-box">
<div id="joinBtn"></div>
<button type="button" class="toggle-btn" onClick={this.login}>Log In</button>
<button type="button" class="toggle-btn" onClick={this.register}>Register</button>
</div>
<div class="social-icons">
{% load static %}
<img src="{% static 'images/fb.png' %}" alt ="fb"/>
<img src="{% static 'images/google.png' %}" alt ="gg"/>
<img src="{% static 'images/tt.png' %}" alt ="tt"/>
</div>
<form id = "login" class="input-group">
<input type="e-mail" class="input-field" placeholder="E-mail" required/>
<input type="password" class="input-field" placeholder="Password" required/>
<input type="checkbox" class="check-box"/><span>Remember Password</span>
<button type="submit" class="submit-btn" >Login</button>
</form>
<form id="register" class="input-group">
<input type="text" class="input-field" placeholder="Username" required/>
<input type="e-mail" class="input-field" placeholder="E-mail" required/>
<input type="password" class="input-field" placeholder="Password" required/>
<input type="checkbox" class="check-box"/><span>I agree to the terms & conditions</span>
<button type="submit" class="submit-btn" >Register</button>
</form>
</div>
</div>);
}
}
我得到的错误是:
SyntaxError: /Users/pedrogouveia/Project/Dev/today/frontend/src/components/Join.js: Unexpected token (48:21)
> 48 | {% load static %}
| ^
解决方案
您在 JavaScript 环境中使用 Django 模板语法。这将导致错误,因为您的 JS 环境不知道与 Django 相关的任何内容。
我的建议是先构建您的 JS 文件,然后插入您的 Django 特定语法。
或者,另一种可维护的方法是将您的 JS 和 Django 项目开发为独立项目,将 API 添加到 Django 应用程序并从 React 应用程序调用这些 API。
推荐阅读
- c# - 页面重定向期间会话变量值更改。- 响应。重定向
- roblox - 我怎样才能使人形生物可被杀死并重生?(罗布乐思)
- windows - 如何以编程方式模拟文件损坏以测试 ReFS 健康检查和恢复功能?
- sql-server - 包含在(@start,@end)VS BETWEEN - 临时表中
- web-crawler - 针对特定语言内容的 Apache Nutch 排名算法
- java - 尝试访问方法时出现空指针异常(java)
- json - 我从 i18n aurelia 收到一个错误
- java - 如何从java中的方法返回字符串
- keycloak - Keycloak:登录禁用用户提供 HTTP 400(错误请求)
- python - 如何在列表中创建列表,其中每个未来列表都由列表中的空格分隔