Javascript 动态加载页面时Django url标记不起作用
这是我第一次发布问题,所以我会尽可能简洁 我试图在登录时动态填充页面的HTML。对于前端应用程序,我使用Django+HTML和CSS。我想动态地将“li”项添加到现有的“ul”项中 静态加载页面时,前面的代码是:Javascript 动态加载页面时Django url标记不起作用,javascript,django,url,tags,Javascript,Django,Url,Tags,这是我第一次发布问题,所以我会尽可能简洁 我试图在登录时动态填充页面的HTML。对于前端应用程序,我使用Django+HTML和CSS。我想动态地将“li”项添加到现有的“ul”项中 静态加载页面时,前面的代码是: 单击“Men”href时,我的浏览器将重定向到以下URL: 现在,我创建了一个js变量,带有'li'标记,id为'shoes marketplace dropdown'。 我计划在$(document).ready(function{…})中动态添加并创建id为“m
-
单击“Men”href时,我的浏览器将重定向到以下URL:
现在,我创建了一个js变量,带有'li'标记,id为'shoes marketplace dropdown'。
我计划在$(document).ready(function{…})
中动态添加并创建id为“marketplace list dynamicy”的“ul”标记
我的做法是:
var shoes\u market=“”+
" " +
“”+
“”+
“”+
“
”+
“ ”;
在$(document).ready()函数中,我有:
$("#marketplace-list").prepend(shoes_market)
HTML页面构建正确,但当我单击“Men”链接时,浏览器中会显示以下URL:
“鞋男”%20%%7D
url在url.py中定义如下“
我的猜测是,不知何故,包含url的HTML代码,作为字符串放在javascript中,没有通过url.py中定义的Django解析为它的关联值。你能帮我吗?我不知道如何解决这个问题
提前感谢!出现问题的原因是您的URL标记使用JS而不是HTML,并且Django模板引擎无法处理JS静态文件。如果您确实希望继续使用JS实现,请在HTML模板中使用变量创建脚本标记
<script>
var men_shoe_link = {% url 'shoes_men' %}
</script>
var men_shoe_link={%url'shoes_men%}
然后你可以在JS中使用这个变量,因为你的代码在$(document).ready()函数中,首先你的变量会被创建,然后JS文件会被处理。
那么现在在JS字符串中,您可以
"<a href='${men_shoe_link}'>Shoes</a>"
“”
没错,Django模板引擎只处理HTML文件的内容,而不处理任何链接的JS(或CSS)文件。为了做到这一点,你需要将JS直接放在HTML文件中,在
标记内。非常感谢Robin,你的回答非常有用。祝你愉快!谢谢!以上是我使用的方法,跟随Robin的评论!
"<a href='${men_shoe_link}'>Shoes</a>"