Django Forms, установленный начальное значение к request.user

PHP end ссылается на переменную как на аргумент. http://php.net/manual/en/function.end.php

Итак, при строгих стандартах вы должны поместить результат explode в переменную сначала:

$exp = explode(".", $_FILES["rfile"]["name"])
$extension = end($exp);

14
задан Antonius Common 17 March 2009 в 10:53
поделиться

3 ответа

Вы могли бы хотеть обработать это в своей функции представления. Так как Ваша функция представления должна создать начальную форму, и Ваша функция представления знает пользователя.

form = JobRecordForm( {'supervisor':request.user} )

Это инициирует проверку этого входа, BTW, таким образом, Вы не можете обеспечить подсказку, оценивает этот путь.

6
ответ дан 1 December 2019 в 06:28
поделиться

Если вместо этого вы сделаете это в своем view.py:

form = JobRecordForm( initial={'supervisor':request.user} )

Тогда вы не активируете проверку.

См. http://docs.djangoproject.com/ ru / dev / ref / forms / api / # dynamic-initial-values ​​

30
ответ дан 1 December 2019 в 06:28
поделиться

Другое решение с промежуточным программным обеспечением и перезаписью сохранения: С промежуточным программным обеспечением Вы можете вызывать "запрос" везде.


"" "Промежуточное ПО" ""

    # coding: utf-8 
from django.utils.thread_support import currentThread 
_requests = {}

def get_request():
    return _requests[currentThread()]

class GlobalRequestMiddleware(object):
    def process_request(self, request):  
        _requests[currentThread()] = request

"" "сохранить Перезапись" ""

class Production(models.Model):
    creator = models.ForeignKey(User, related_name = "%(class)s_creator")
    creation_date = models.DateTimeField(auto_now_add = True)
    modification_date = models.DateTimeField(auto_now = True)

    def save(self, force_insert = False, force_update = False):

        self.creator = get_request().user
        super(Production, self).save(force_insert = force_insert, force_update = force_update)
        return
6
ответ дан 1 December 2019 в 06:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: