Первая проблема решается использованием
django-sekizai. В some_block.html включить код
{% addtoblock "js" %}
<script type="text/javascript" src="{% static 'js/some_script.js' %}"></script>
</script>
{% endaddtoblock %}
и в базовом шаблоне
{% render_block "js" %}
После чего можно быть уверенным, что скрипт будет включён в результирующий html-документ ровно один раз и в нужном месте.
Для решения второй проблемы вариантов масса. Один из них - включить в шаблон, из которого будет происходить запрос, код вида
<script type="text/javascript">
window.urls = {
some_url: {% url 'some_url' param=some_value %}
}
</script>
А в скрипте, делающем этот ajax-запрос, url получать с помощью конструкции urls['some_url'].
Или можно использовать что-нибудь вроде
django-js-utils.