 <p>You can do that with JavaScript/jQuery.</p> <pre><code>&lt;form id="myform"&gt; ... &lt;/form&gt; $(".category").change(function(){ value = $(this).val() $('.myform').attr('action', "/search/" + value) }); </code></pre> <p>Remember to place the code in a <code>$(document).ready()</code> listener.</p> <hr> <p>Want to avoid JavaScript? You <strong>can</strong> get the value directly in the template. You <strong>cannot</strong> change that value if the user changes the dropdown value: in this case, your only chance is that of redirecting the user in your <code>views.py</code> based on what he choose in the dropdown.</p> <p>Remember: Django simply renders a page and sends it to the user. Whatever happens before a new call is made to your server is not in the possibilities of Django but those of JavaScript.</p>