我的应用程序的urls.py
是:
from django.urls import path
from . import views
app_name = 'javascript'
urlpatterns = [
path('create_table', views.create_table, name='create_table')
我的
views.py
是:def create_table(request):
row_data = "this is row data"
context = {'row_data': row_data}
return render(request, 'javascript/create_table.html', context)
我的create_table.html文件是:
{% load static %}
<button id="create_table">Get data</button>
<div id="place_for_table"></div></div>
<script src="{% static 'javascript/scripts/create_table.js' %}"></script>
我的`create_table.js`文件是这样的:
function create_table() {
document.getElementById("place_for_table").innerHTML = '{{ row_data }}';
}
document.getElementById("create_table").onclick = function() {
create_table()
}
我想做的是在点击“create_table”按钮时运行create_table.js脚本,该脚本应在“place for table” div元素中显示“this is row data”文本。
然而,实际显示的只是“{{ row_data }}”。
我已经阅读了关于在Javascript中使用Django变量的其他类似问题,但根据我的理解,它们都建议按照我所做的方式进行操作,所以我不确定我做错了什么。
onclick ="create_table({{ row_data }})"
没有正确地将参数传递给函数一样(我还修改了脚本中的create_table
函数以接受参数)。这个脚本需要包含在模板中吗?还是可以保留在单独的文件中? - barciewiczrow_data
在全局作用域中,随着代码变得更复杂并引入额外的变量,这可能更容易出现错误。 - bonidjukic