2010-08-11 57 views
7

Tôi đang tạo ứng dụng có trường tên tệp, trường tệp tải lên và chọn. Cho phép nói rằng tôi có một cái gì đó như thế này cho các chọnLựa chọn Django chọn

<select name="menu"> 
    <option value="0" selected> select imp </option> 
    <option value="1"> imp 1 </option> 
    <option value="2"> imp 2 </option> 
    <option value="3"> imp 3 </option> 
    <option value="4"> imp 4 </option> 
</select> 
<input type="submit" value="Upload" /> 

Tôi đã tải lên tập tin làm việc với lớp này

class UploadFileForm(forms.Form): 
    title = forms.CharField(max_length=50) 
    file = forms.FileField(widget=forms.FileInput()) 

Làm thế nào nên giao diện lớp với chọn thêm vào nó? Hoặc làm cách nào tôi có thể sử dụng biểu mẫu tải lên tệp và nhận giá trị từ lựa chọn và dựa trên giá trị đó thực hiện hành động?

Trả lời

12

Bạn cần phải sử dụng một ChoiceField:

IMP_CHOICES = (
    ('1', 'imp 1'), 
    ('2', 'imp 2'), 
    ('3', 'imp 3'), 
    ('4', 'imp 4'), 
) 

class UploadFileForm(forms.Form): 
    title = forms.CharField(max_length=50) 
    file = forms.FileField(widget=forms.FileInput()) 
    imp = forms.ChoiceField(choices=IMP_CHOICES) 
+0

ahh để django có một lĩnh vực lựa chọn sau khi tất cả :) Thx một M8 rất nhiều. Kính trọng void, – void

+0

Liên kết ở trên bị hỏng, nhưng có vẻ như giải pháp hiện tại là tham số "lựa chọn" trong "CharField", tài liệu [ở đây] (https://docs.djangoproject.com/en/1.10/ref/models/fields/# choice) – shadi

Các vấn đề liên quan