为什么当我点击添加时django会在网址?_changelist_filters=user%3D5275
上添加?我最初在change_list上的网址是?user=5275
。
问题是应该在选择输入中选择用户,而不是。如果我在?user=5275
中更改它正在运行。
如何让django“阅读”?_changelist_filters=user%3D5275
或在?user=5275
中更改
答案 0 :(得分:4)
您可以在AdminForm中添加以下内容:
class UsersAdminForm(forms.ModelForm):
@staticmethod
def parse_filter_kwargs(**kwargs):
if 'initial' in kwargs:
if u'_changelist_filters' in kwargs['initial']:
filters = kwargs['initial'][u'_changelist_filters']
var, value = filters.split('=')
if var == u'user':
return {'initial': {var: value}}
return kwargs
def __init__(self, *args, **kwargs):
kwargs = self.parse_filter_kwargs(**kwargs)
super(UsersAdminForm, self).__init__(*args, **kwargs)
答案 1 :(得分:1)
所有node {
stage ("Collect User Input") {
userInput = input( id: 'Input-username',
message: 'Select username',
ok: 'Continue',
parameters: [choice(choices: 'user1\nuser2\nuser3', description: '', name: 'username'),
password(defaultValue: '', description: 'Enter your private key passphrase ', name: 'password')
],
submitterParameter: 'approver')
println("User Input is: " + userInput)
withCredentials(bindings: [sshUserPrivateKey(credentialsId: 'my-test-key',
keyFileVariable: 'cred_keyfile',
passphraseVariable: 'cred_passphrase',
usernameVariable: 'cred_username' )])
{
assert hudson.util.Secret.fromString(cred_passphrase) == userInput.password
}
}
}
参数的解决方案
_changelist_filters
答案 2 :(得分:0)
from urllib.parse import parse_qsl
query_params = dict(parse_qsl(request.GET['_changelist_filters']))
print(query_params.get('user'))