目前在我的urls.py中有类似的内容:
VARIABLES = ('var1', 'var2', 'var3')
匹配
url(r'^(?P<my_var>:regex_matching_any_of_VARIABLES|other_string)/rest_of_url'
我想有一个变量列表/元组:
<?php
session_start();
if(isset($_SESSION['username']) && $_SESSION['username'] != ''){
echo "true";
}
else {
echo "false";
}
?>
这可以存储可以在我的网址中匹配的变量 但是我不知道任何可以做到这一点的django正则表达式。确切地说,我的目标是拥有类似的东西:
<script>
function gettatus(){
$.get("sessioncheck.php", function(data){
if(!data) {
window.location = "logout.php";
}
setTimeout(function(){
checkLoginStatus();
}, 3000);
});
}
$(document).ready(function(){
gettatus();
});
</script>
答案 0 :(得分:1)
您可以在元组上执行'|'.join
并将其添加到模式中:
pattern = r'^(?P<my_var>:|' + '|'.join(VARIABLES) + r'|other_string)/rest_of_url'
url(pattern, ...)
答案 1 :(得分:1)
您可以试用两种网址模式。尽管有点冗长。 首先,它尝试匹配您的变量,然后匹配通用模式。
VALID_VALUES = '|'.join(["var1","var2","var3"])
urlpatterns = patterns('',
url(r'^(?P<var_type>(%s))/rest_of_url/$' % VALID_VALUES,
'your_view'),
url(r'^(?P<var_type>[\w\d-]+)/rest_of_url/$',
'your_view')
)