Прежде всего:
Пожалуйста, не используйте
mysql_*
функции в новом коде . Они больше не поддерживаются и официально устарели . См. Красную рамку ? Узнайте о подготовленных операторах и используйте PDO или MySQLi - в этой статье , которые помогут вам решить, какой из них. Если вы выберете PDO, вот хороший учебник .Это происходит, когда вы пытаетесь получить данные из результата
mysql_query
, но запросЭто предупреждение и не остановит скрипт, но сделает вашу программу неправильной.
Вам нужно проверить результат, возвращенный
mysql_query
, на$res = mysql_query($sql); if (!$res) { die(mysql_error()); } // after checking, do the fetch
Вопросы, относящиеся
- mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, логическим значением в select
- Все «mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, boolean задан« Вопросы по Stackoverflow
Связанные ошибки:
Другие функции
mysql*
, которые также ожидают, что ресурс результата mysql в качестве параметра приведет к той же ошибке для такой же причина.
Если Вы будете смотреть на источники для [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.
Просто необходимо обернуть существующие функции и передать в шаблоне, который Вы хотите. Например:
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
в документации говорится что там только одна переменная контекста, form
.
, Если Вы испытываете затруднения из-за входа в систему (который распространен), в документации говорится, что существует три переменные контекста:
form
: Объект формы, представляющий форму входа в систему. См. документацию форм для больше на Объектах формы. next
: URL для перенаправления к после успешного входа в систему. Это может содержать строку запроса, также. site_name
: название текущего Сайта, согласно установке SITE_ID.