Tôi đang cố gắng tạo biểu mẫu cho thư viện nơi người dùng có thể thực hiện 2 tác vụ: thêm sách mới hoặc mở thông tin được lưu trữ của một sách hiện có. Sách có 2 trường (tiêu đề và tác giả). Mỗi khi một cuốn sách mới được tạo, nó được lưu trữ tại cơ sở dữ liệu. Bất kỳ cuốn sách nào được tạo trước đây được hiển thị dưới dạng tùy chọn tại danh sách thả xuống (chỉ có tên). Tôi muốn rằng khi người dùng chọn một tùy chọn từ danh sách thả xuống, thông tin của sách đã chọn sẽ xuất hiện trên màn hình.danh sách thả xuống biểu mẫu django của các kiểu được lưu trữ
Tôi đã thử 2 cách tiếp cận khác nhau, nhưng không có cách nào trong số chúng đáp ứng các yêu cầu của tôi. Một mặt, sau câu hỏi này django form dropdown list of numbers tôi có thể tạo ra một danh sách thả xuống, và có được giá trị được lựa chọn tại quan điểm với một số mã như thế:
class CronForm(forms.Form):
days = forms.ChoiceField(choices=[(x, x) for x in range(1, 32)])
def manage_books(request):
d = CronForm()
if request.method == 'POST':
day = request.POST.get('days')
Nhưng tôi muốn lựa chọn của tôi là những cuốn sách được lưu trữ trước đó tại cơ sở dữ liệu và không được xác định trước các giá trị.
Một cách tiếp cận khác mà tôi đã thử là làm điều đó từ mẫu html. Ở đó tôi tạo ra các hình thức sau đây:
<form>
{% for book in list %}
<option value="name">{{ book.name }}</option>
{% endfor %}
</form>
đâu cuốn sách được hiển thị ở điểm từ này:
l = Books.objects.all().order_by('name')
Trong trường hợp thứ hai này các thông tin hiển thị ở danh sách thả xuống là một trong tôi muốn, nhưng tôi don không biết cách lấy giá trị đã chọn và sử dụng nó ở chế độ xem. Có lẽ sử dụng một hàm javascript?
Vì vậy, 2 yêu cầu của tôi là: hiển thị thông tin chính xác trong danh sách (được lưu trữ tại DB bởi người dùng) và có thể biết cái nào đã được chọn.
Cảm ơn rất nhiều, đó là những gì tôi cần! :) – toni
Làm thế nào để bạn đặt biểu mẫu danh sách thả xuống này trong html, nó có giống với biểu mẫu bình thường không? –