在我的Django的model.py我有如下條目:在Django CharFields交互應用條件
class Method1(models.Model):
clustering_method_param = models.CharField(max_length=20,
default='ward', blank=True, choices=(
('complete', 'Complete linkage'),
('average','Average linkage'),
('ward','Ward'),))
distance_method_param = models.CharField(max_length=20, blank=True,
default='euclidean', choices=(
('euclidean', 'Euclidean'),
('manhattan','Manhattan'),
('pearsond','Pearson Correlation'),))
後來在HTML渲染成這樣:
我想要什麼要做的是設置條件。即聚類方法ward
只能應用距離度量euclidean
。如果用戶將所有其他距離度量值傳遞給ward
,則應返回錯誤消息。我如何在Django中應用?或者我應該用JavaScript代替?
下面是HTML代碼的例子:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="http://gregpike.net/demos/bootstrap-file-input/bootstrap.file-input.js"></script>
<meta charset="utf-8">
</head>
<body>
<form id="id-method1Form" class="form-horizontal" method="post" > <input type='hidden' name='csrfmiddlewaretoken' value='vr5MftcSxGGUeIOwKioeUlalXJdXNgkl' /> <div id="div_id_clustering_method_param" class="form-group"> <label for="id_clustering_method_param" class="control-label col-lg-2">
Clustering method
</label> <div class="controls col-lg-8"> <select class="select form-control" id="id_clustering_method_param" name="clustering_method_param">
<option value="complete">Complete linkage</option>
<option value="average">Average linkage</option>
<option value="ward" selected="selected">Ward</option>
</select> </div> </div> <div id="div_id_distance_method_param" class="form-group"> <label for="id_distance_method_param" class="control-label col-lg-2">
Distance measure
</label> <div class="controls col-lg-8"> <select class="select form-control" id="id_distance_method_param" name="distance_method_param">
<option value="euclidean" selected="selected">Euclidean</option>
<option value="manhattan">Manhattan</option>
<option value="pearsond">Pearson Correlation</option>
</select> </div> </div> <div class="form-group"> <div class="aab controls col-lg-2"></div> <div class="controls col-lg-8"> <input type="submit"
name="submit"
value="Submit"
class="btn btn-primary"
id="submit-id-submit"
/> </div> </div> </form>
<!--- END FORM DISPLAY-->
</body>
<html>
謝謝。但我看不到它的任何影響。我更新了我的Django。我使用'class Method1(models.Model):'如果我們想用JavaScript的方式,我該怎麼做? – neversaint
您需要將此清潔添加到Form類中。 –
本教程可以幫助您使用ajax。 https://bradmontgomery.net/blog/a-simple-django-example-with-ajax/ –