Как я использую созданный в сбросе пароля / представления изменения с моими собственными шаблонами

Предупреждение: mysql_fetch_array () ожидает, что параметр 1 является ресурсом, boolean given

Прежде всего:

Пожалуйста, не используйте mysql_* функции в новом коде . Они больше не поддерживаются и официально устарели . См. Красную рамку ? Узнайте о подготовленных операторах и используйте PDO или MySQLi - в этой статье , которые помогут вам решить, какой из них. Если вы выберете PDO, вот хороший учебник .


Это происходит, когда вы пытаетесь получить данные из результата mysql_query, но запрос

Это предупреждение и не остановит скрипт, но сделает вашу программу неправильной.

Вам нужно проверить результат, возвращенный mysql_query, на

$res = mysql_query($sql);
if (!$res) {
   die(mysql_error());
}
// after checking, do the fetch

Вопросы, относящиеся

Связанные ошибки:

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

91
задан 4 revs, 3 users 62% 29 May 2014 в 14:37
поделиться

3 ответа

Если Вы будете смотреть на источники для [1 112] django.contrib.auth.views.password_reset, то Вы будете видеть, что он использует RequestContext . Результат, можно использовать Процессоры Контекста для изменения контекста, который может позволить Вам вводить информацию, в которой Вы нуждаетесь.

b-список имеет пользу введение в процессоры .

контекста

Редактирование (я, кажется, был смущен тем, чем фактический вопрос был):

Вы заметите, что password_reset берет именованный параметр, названный template_name:

def password_reset(request, is_admin_site=False, 
            template_name='registration/password_reset_form.html',
            email_template_name='registration/password_reset_email.html',
            password_reset_form=PasswordResetForm, 
            token_generator=default_token_generator,
            post_reset_redirect=None):

Проверка password_reset для получения дополнительной информации.

... таким образом, с urls.py как:

from django.conf.urls.defaults import *
from django.contrib.auth.views import password_reset

urlpatterns = patterns('',
     (r'^/accounts/password/reset/ 

django.contrib.auth.views.password_reset будет назван для URL, соответствующих '/accounts/password/reset' с аргументом ключевого слова template_name = 'my_templates/password_reset.html'.

Иначе, Вы не должны обеспечивать контекст как эти password_reset, представление заботится о себе. Если Вы хотите видеть, какой контекст Вы имеете в наличии, можно инициировать TemplateSyntax ошибка и просмотреть отслеживание стека, находят кадр с локальной переменной названным context. Если Вы хотите изменить контекст тогда, что я сказал выше о процессорах контекста, вероятно, способ пойти.

, Таким образом: что необходимо сделать для использования собственного шаблона? Обеспечьте template_name аргумент ключевого слова представлению, когда это назовут. Можно предоставить аргументы ключевого слова представлениям включением словаря как третий член кортежа шаблона URL.

, password_reset, {'template_name': 'my_templates/password_reset.html'}), ... )

django.contrib.auth.views.password_reset будет назван для URL, соответствующих '/accounts/password/reset' с аргументом ключевого слова template_name = 'my_templates/password_reset.html'.

Иначе, Вы не должны обеспечивать контекст как эти password_reset, представление заботится о себе. Если Вы хотите видеть, какой контекст Вы имеете в наличии, можно инициировать TemplateSyntax ошибка и просмотреть отслеживание стека, находят кадр с локальной переменной названным context. Если Вы хотите изменить контекст тогда, что я сказал выше о процессорах контекста, вероятно, способ пойти.

, Таким образом: что необходимо сделать для использования собственного шаблона? Обеспечьте template_name аргумент ключевого слова представлению, когда это назовут. Можно предоставить аргументы ключевого слова представлениям включением словаря как третий член кортежа шаблона URL.

99
ответ дан user1223339 24 November 2019 в 06:49
поделиться

Просто необходимо обернуть существующие функции и передать в шаблоне, который Вы хотите. Например:

from django.contrib.auth.views import password_reset

def my_password_reset(request, template_name='path/to/my/template'):
    return password_reset(request, template_name)

Для наблюдения этого просто взглянуть на функцию declartion созданного в представлениях:

http://code.djangoproject.com/browser/django/trunk/django/contrib/auth/views.py#L74

10
ответ дан jb. 24 November 2019 в 06:49
поделиться

в документации говорится что там только одна переменная контекста, form.

, Если Вы испытываете затруднения из-за входа в систему (который распространен), в документации говорится, что существует три переменные контекста:

  • form: Объект формы, представляющий форму входа в систему. См. документацию форм для больше на Объектах формы.
  • next: URL для перенаправления к после успешного входа в систему. Это может содержать строку запроса, также.
  • site_name: название текущего Сайта, согласно установке SITE_ID.
1
ответ дан S.Lott 24 November 2019 в 06:49
поделиться
Другие вопросы по тегам:

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