Предоставить данные формы через GET в Django Create View - PullRequest
0 голосов
/ 16 октября 2018

Я хочу создать CreateView, который позволит пользователям получить форму, в которой они щелкают что-то и отвечают формой с предварительно заполненными полями, которые нельзя изменить.Кстати, я хочу отобразить эти предварительно заполненные и не редактируемые поля в <p></p> вместо <input>.Приведенный ниже код содержит модель, которую я хочу создать CreateView, и форму, которую я до сих пор не знаю, как делать дальше.

#models.py
class Booking(Occurrence):
    TYPE_CHOICES = (
        ('web', 'Web Application'),
        ('emb', 'Embedded Application'),
    )
    user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='bookings')
    room = models.ForeignKey(Room, on_delete=models.CASCADE, related_name='bookings')
    type = models.CharField(max_length=50, choices=TYPE_CHOICES, default='web')
    date = models.DateField()
    start= models.TimeField()
    end = models.TimeField()
    check_in = models.BooleanField(default=False)
    check_out = models.BooleanField(default=False)

#views.py
@method_decorator(login_required, name='dispatch')            
class BookingAddView(CreateView):
    model = Booking
    form_class = BookingForm
    template_name = 'booking/add_booking.html'


    def get_initial(self):
        pass

    def form_valid(self, form):
        form.instance.user = self.request.user
        super().form_valid(form)

    def form_invalid(self, form):
        pass

#forms.py
class BookingForm(forms.Model):
    class Meta:
        model = Booking
        fields = ['user', 'room', 'date', 'start', 'end']

    def __init__(self):
        pass

Например, я хочу, чтобы поля комнаты, даты и конца были предварительно заполнены при рендеринге.,Я думаю о GET, но я хочу знать правильный способ сделать это с классом CreateView.Я хочу что-то вроде:

<form>
<p>{room field value}</p>
<p>{date field value} </p>
<p>{start field value}</p>
<input id='id_end' type='text'></input>
</form> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...