django - 如何使用 ajax 在模态中显示 django 通用详细视图
问题描述
当用户单击公告列表时,我想在模式内显示公告的内容。
这将是我的announcement_list.html中模式的触发器:
<form name="form" action="#" id="form_have_product_{{y.id}}" method="POST">
{% csrf_token %}
<a href="#" id="{{ announcement.pk }}" type="button" class="btn btn-info view-announcement" data-url="{% url 'announcement-detail' pk=announcement.id %}" style="float: right;">View</a>
</form>
这是我在views.py中的功能:
def get_announcement(request, pk): 公告 = Announcement.objects.filter(announcement_id=pk)
context = {
'title': announcement.title,
'about': announcement.about,
'author': announcement.author,
'post_date': announcement.post_date
}
return render(request, 'announcement-details-modal.html', context)
对于urls.py:
urlpatterns = [path('announcement/<int:pk>/', get_announcement, name='announcement-detail'),]
这是用户点击公告列表时的功能:
$(".view-announcement").on("click", function() {
var target_url = $(this).attr("data-url");
var csrftoken = $("[name=csrfmiddlewaretoken]").val();
$.ajax({
url: target_url,
headers:{
"X-CSRFToken": csrftoken
},
success: function(data) {
$("#modal").modal("toggle");
$("#modal-content").html(data);
}
});
});
目前,此代码返回服务器响应状态为 500(内部服务器错误)
解决方案
推荐阅读
- sql - SQLite 中是否有一些相当于 [ WHERE col IN (%) ] 的内容?
- javascript - 监听外部 js 文件中的内容是否加载到 DOM 中供 javascript 使用
- c# - 如果我输入搜索参数,如何让机器人框架机器人发回数据库的单元格?
- windows - GCP SDK gsutil rsynch不返回进度
- javascript - npm 脚本抛出错误,但没有提供任何有用的信息
- scala - 具有路径相关类型和协变参数的 Scala 复制类
- python - 绘制使用带有 CSV 文件的 pandas 创建的数据框。x 轴刻度标签有问题
- c# - WCF 通信错误
- java - 如何添加 JTextField
- javascript - JavaScript 嵌套属性