我正在开发一个使用 postgres 数据库的 django 项目。
我有一个搜索表单,允许用户搜索数据库。搜索表单工作得很好。我想通过使用 javascript 和 jquery 向表单添加自动完成功能来使其更加用户友好。
如果我在我的 html 文档正文中包含 jquery,一切正常。
示例search.html
(无关部分省略):
<html>
<head>
<title>Search</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
</head>
<body>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<script>
$(function() {
var availStations =
['red', 'blue', 'green', 'purple', 'pink', 'black'];
$(".stations").autocomplete({
source: availStations
});
});
</script>
<br>
<form action = "/search/" method = "get">
<div class = "ui-widget">
<label for="stations">Search for: </label>
<input type = "text" name ="q" class="stations">
[....]
我想把它移到一个外部文件 ( item_search.js
) 并包含<script src="item_search.js"></script>
在我的 html 正文中。
item_search.js
看起来像这样:
$(function() {
var availStations =
['red', 'blue', 'green', 'purple', 'pink', 'black'];
$(".stations").autocomplete({
source: availStations
});
});
当我这样做并search.html
直接打开文件时,一切正常。但是,如果我通过运行python manage.py runserver
jquery 自动完成功能将其打开,我的控制台将显示以下消息:
Failed to load resource: the server responded with a status of 404 (NOT FOUND) http://127.0.0.1:8000/search-form/item_search.js
显然,当我search.html
直接打开时,它根本没有与 django 项目连接,因此搜索实际上不起作用,但至少自动完成功能可以。会发生什么??