Maneira correta de lidar com vários formulários Django em uma página com duas visualizações?
Eu lutei com esse problema nos últimos dois dias e poderia usar alguma ajuda. A home page do meu aplicativo Django 1.6 incluirá dois formulários, um que um usuário pode usar para entrar no site e outro que pode usar para se inscrever (criar um login) no site:
# templates/home/home_page.html
<div class="sign-in-form">
<form action="{% url 'apps.home.views.sign_in' %}" method="post">
{% csrf_token %}
{{ sign_in_form.as_p }}
{% if next %}
<input type="hidden" name="next" value="{{ next }}">
{% else %}
<input type="hidden" name="next" value="{% url 'view-members' %}">
{% endif %}
<input type="submit" value="Sign in">
</form>
</div>
<div class="sign-up-form">
<fieldset>
<legend>Sign up</legend>
<form action="{% url 'apps.home.views.sign_up' %}" method="post">
{% csrf_token %}
{{ sign_up_form.as_p}}
<p><input type="submit" value="Sign up" /></p>
</form>
</fieldset>
</div>
Se o usuário enviar o formulário sign_in, ele será direcionado para uma página na qual poderá visualizar outros membros do site. Se eles enviarem o formulário de inscrição, serão direcionados para uma segunda página de inscrição, onde criarão um perfil de usuário etc.
Originalmente, eu usaria a técnica mostrada nestePergunta, questão e use uma visualização para lidar com a página inicial. No entanto, decidi tentar usar duas visualizações porque estou usando a visualização de login real do Django (django.contrib.auth.views.login) para poder adicionar código a ele para detectar o dispositivo do usuário (telefone, tablet ou computador) e mesclar essa visualização com minha visualização sign_up criaria uma visualização muito longa e complicada de manter. Eu preferiria manter as visualizações dos dois formulários separadas.
Aqui está a home page e as visualizações sign_in:
# apps/home/views:
def home_page(request, template):
sign_in_form = SignInAuthenticationForm()
sign_up_form = CreateAccountForm()
return render(request, template, {"sign_in_form": sign_in_form,
"sign_up_form": sign_up_form})
@sensitive_post_parameters()
@csrf_protect
@never_cache
def sign_in(request,
template='home_page.html',
redirect_field_name=REDIRECT_FIELD_NAME,
# authentication_form=AuthenticationForm,
authentication_form=SignInAuthenticationForm,
current_app=None, extra_context=None):
# Do device detection here...
# django.contrib.auth.views code goes here...
return response
A visualização de inscrição será apenas sua visualização típica baseada em funções para processar um formulário conforme descrito no Djangodocumentação.
O que estou enfrentando são os meus arquivos URLconf. Aqui estão meus arquivos URLconf principais e "domésticos":
# conf/urls.py
urlpatterns = patterns('',
url(r'^O problema é que eu recebo esse erro durante a renderização do modelo:
NoReverseMatch at /
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/No começo, comecei a pensar que talvez esteja me dizendo que pode encontrar o padrão de URL correto no meu arquivo home / urls.py porque a assinatura do URL no meu formulário está incorreta. Talvez eu precise fazer isso para corresponder aos argumentos na exibição sign_in:
<form action="{% url 'apps.home.views.sign_in' 'home/home_page.html' %}" method="post">
Mas eu já estou mostrando o nome do modelo no URLconf inicial. E acho que não preciso passar os outros argumentos de exibição na ação do formulário (por exemplo, redirect_field_name) porque são opcionais. De qualquer forma, adicionar esse argumento à ação do formulário não o corrigiu.
Uma das coisas que me confunde é como definir o primeiro argumento de URL. Eu configurei-os para r '^ sign_in / $12$#39; e r '^ sign_up / $12$#39; porque, se eu configurá-los para r '^ $12$#39;, a página será renderizada corretamente, mas quando eu enviar um formulário, apenas as postagens serão retornadas para a página inicial. Você pode ver que isso acontecerá fazendo uma "fonte de visualização" na página. Ele mostra que a ação de cada formulário será "/". Por outro lado, o jeito que eu o tenho agora parece incorreto para mim, porque o site não terá realmente um URL "/ sign_in /" e "/ sign_up /", pois os dois formulários estão na página inicial. Além disso, haverá um problema no qual, se o usuário enviar um ou outro incorretamente, os erros dos dois formulários serão renderizados na página?
A documentação do Django, até onde sei, não descreve realmente uma abordagem padrão para fazer o que estou tentando fazer. Ele descreve como renderizar várias versões do mesmo formulário. Alguém pode me dizer o que estou fazendo de errado?
Obrigado.
, include('apps.home.urls')),
# Other url patterns...
)
# apps/home/urls.py
urlpatterns = patterns('apps.home.views',
url(r'^O problema é que eu recebo esse erro durante a renderização do modelo:
NoReverseMatch at /
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Request Method: GET
Request URL: http://localhost:8000/
Django Version: 1.6.2
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Exception Location: /Users/smith/venv/swing/lib/python2.7/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 429
Python Executable: /Users/smith/venv/swing/bin/python
Python Version: 2.7.5
Python Path:
['/Users/smith/Dropbox/www/swing',
'/Users/smith/venv/swing/lib/python2.7/site-packages/wurfl_cloud-1.0.1-py2.7.egg',
'/Users/smith/venv/swing/lib/python27.zip',
'/Users/smith/venv/swing/lib/python2.7',
'/Users/smith/venv/swing/lib/python2.7/plat-darwin',
'/Users/smith/venv/swing/lib/python2.7/plat-mac',
'/Users/smith/venv/swing/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/Extras/lib/python',
'/Users/smith/venv/swing/lib/python2.7/lib-tk',
'/Users/smith/venv/swing/lib/python2.7/lib-old',
'/Users/smith/venv/swing/lib/python2.7/lib-dynload',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/lib/python2.7/site-packages']
No começo, comecei a pensar que talvez esteja me dizendo que pode encontrar o padrão de URL correto no meu arquivo home / urls.py porque a assinatura do URL no meu formulário está incorreta. Talvez eu precise fazer isso para corresponder aos argumentos na exibição sign_in:
<form action="{% url 'apps.home.views.sign_in' 'home/home_page.html' %}" method="post">
Mas eu já estou mostrando o nome do modelo no URLconf inicial. E acho que não preciso passar os outros argumentos de exibição na ação do formulário (por exemplo, redirect_field_name) porque são opcionais. De qualquer forma, adicionar esse argumento à ação do formulário não o corrigiu.
Uma das coisas que me confunde é como definir o primeiro argumento de URL. Eu configurei-os para r '^ sign_in / $12$#39; e r '^ sign_up / $12$#39; porque, se eu configurá-los para r '^ $12$#39;, a página será renderizada corretamente, mas quando eu enviar um formulário, apenas as postagens serão retornadas para a página inicial. Você pode ver que isso acontecerá fazendo uma "fonte de visualização" na página. Ele mostra que a ação de cada formulário será "/". Por outro lado, o jeito que eu o tenho agora parece incorreto para mim, porque o site não terá realmente um URL "/ sign_in /" e "/ sign_up /", pois os dois formulários estão na página inicial. Além disso, haverá um problema no qual, se o usuário enviar um ou outro incorretamente, os erros dos dois formulários serão renderizados na página?
A documentação do Django, até onde sei, não descreve realmente uma abordagem padrão para fazer o que estou tentando fazer. Ele descreve como renderizar várias versões do mesmo formulário. Alguém pode me dizer o que estou fazendo de errado?
Obrigado.
,
'home_page',
{'template': 'home/home_page.html'},
name='home-page'),
url(r'^sign_in/O problema é que eu recebo esse erro durante a renderização do modelo:
NoReverseMatch at /
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Request Method: GET
Request URL: http://localhost:8000/
Django Version: 1.6.2
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Exception Location: /Users/smith/venv/swing/lib/python2.7/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 429
Python Executable: /Users/smith/venv/swing/bin/python
Python Version: 2.7.5
Python Path:
['/Users/smith/Dropbox/www/swing',
'/Users/smith/venv/swing/lib/python2.7/site-packages/wurfl_cloud-1.0.1-py2.7.egg',
'/Users/smith/venv/swing/lib/python27.zip',
'/Users/smith/venv/swing/lib/python2.7',
'/Users/smith/venv/swing/lib/python2.7/plat-darwin',
'/Users/smith/venv/swing/lib/python2.7/plat-mac',
'/Users/smith/venv/swing/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/Extras/lib/python',
'/Users/smith/venv/swing/lib/python2.7/lib-tk',
'/Users/smith/venv/swing/lib/python2.7/lib-old',
'/Users/smith/venv/swing/lib/python2.7/lib-dynload',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/lib/python2.7/site-packages']
No começo, comecei a pensar que talvez esteja me dizendo que pode encontrar o padrão de URL correto no meu arquivo home / urls.py porque a assinatura do URL no meu formulário está incorreta. Talvez eu precise fazer isso para corresponder aos argumentos na exibição sign_in:
<form action="{% url 'apps.home.views.sign_in' 'home/home_page.html' %}" method="post">
Mas eu já estou mostrando o nome do modelo no URLconf inicial. E acho que não preciso passar os outros argumentos de exibição na ação do formulário (por exemplo, redirect_field_name) porque são opcionais. De qualquer forma, adicionar esse argumento à ação do formulário não o corrigiu.
Uma das coisas que me confunde é como definir o primeiro argumento de URL. Eu configurei-os para r '^ sign_in / $12$#39; e r '^ sign_up / $12$#39; porque, se eu configurá-los para r '^ $12$#39;, a página será renderizada corretamente, mas quando eu enviar um formulário, apenas as postagens serão retornadas para a página inicial. Você pode ver que isso acontecerá fazendo uma "fonte de visualização" na página. Ele mostra que a ação de cada formulário será "/". Por outro lado, o jeito que eu o tenho agora parece incorreto para mim, porque o site não terá realmente um URL "/ sign_in /" e "/ sign_up /", pois os dois formulários estão na página inicial. Além disso, haverá um problema no qual, se o usuário enviar um ou outro incorretamente, os erros dos dois formulários serão renderizados na página?
A documentação do Django, até onde sei, não descreve realmente uma abordagem padrão para fazer o que estou tentando fazer. Ele descreve como renderizar várias versões do mesmo formulário. Alguém pode me dizer o que estou fazendo de errado?
Obrigado.
,
'sign_in',
{'template': 'home/home_page.html'},
name='sign-in'),
url(r'^sign_up/O problema é que eu recebo esse erro durante a renderização do modelo:
NoReverseMatch at /
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Request Method: GET
Request URL: http://localhost:8000/
Django Version: 1.6.2
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Exception Location: /Users/smith/venv/swing/lib/python2.7/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 429
Python Executable: /Users/smith/venv/swing/bin/python
Python Version: 2.7.5
Python Path:
['/Users/smith/Dropbox/www/swing',
'/Users/smith/venv/swing/lib/python2.7/site-packages/wurfl_cloud-1.0.1-py2.7.egg',
'/Users/smith/venv/swing/lib/python27.zip',
'/Users/smith/venv/swing/lib/python2.7',
'/Users/smith/venv/swing/lib/python2.7/plat-darwin',
'/Users/smith/venv/swing/lib/python2.7/plat-mac',
'/Users/smith/venv/swing/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/Extras/lib/python',
'/Users/smith/venv/swing/lib/python2.7/lib-tk',
'/Users/smith/venv/swing/lib/python2.7/lib-old',
'/Users/smith/venv/swing/lib/python2.7/lib-dynload',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/lib/python2.7/site-packages']
No começo, comecei a pensar que talvez esteja me dizendo que pode encontrar o padrão de URL correto no meu arquivo home / urls.py porque a assinatura do URL no meu formulário está incorreta. Talvez eu precise fazer isso para corresponder aos argumentos na exibição sign_in:
<form action="{% url 'apps.home.views.sign_in' 'home/home_page.html' %}" method="post">
Mas eu já estou mostrando o nome do modelo no URLconf inicial. E acho que não preciso passar os outros argumentos de exibição na ação do formulário (por exemplo, redirect_field_name) porque são opcionais. De qualquer forma, adicionar esse argumento à ação do formulário não o corrigiu.
Uma das coisas que me confunde é como definir o primeiro argumento de URL. Eu configurei-os para r '^ sign_in / $12$#39; e r '^ sign_up / $12$#39; porque, se eu configurá-los para r '^ $12$#39;, a página será renderizada corretamente, mas quando eu enviar um formulário, apenas as postagens serão retornadas para a página inicial. Você pode ver que isso acontecerá fazendo uma "fonte de visualização" na página. Ele mostra que a ação de cada formulário será "/". Por outro lado, o jeito que eu o tenho agora parece incorreto para mim, porque o site não terá realmente um URL "/ sign_in /" e "/ sign_up /", pois os dois formulários estão na página inicial. Além disso, haverá um problema no qual, se o usuário enviar um ou outro incorretamente, os erros dos dois formulários serão renderizados na página?
A documentação do Django, até onde sei, não descreve realmente uma abordagem padrão para fazer o que estou tentando fazer. Ele descreve como renderizar várias versões do mesmo formulário. Alguém pode me dizer o que estou fazendo de errado?
Obrigado.
,
'sign_up',
{'template': 'home/home_page.html'},
name='sign-up'),
)
O problema é que eu recebo esse erro durante a renderização do modelo:
NoReverseMatch at /
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Request Method: GET
Request URL: http://localhost:8000/
Django Version: 1.6.2
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Exception Location: /Users/smith/venv/swing/lib/python2.7/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 429
Python Executable: /Users/smith/venv/swing/bin/python
Python Version: 2.7.5
Python Path:
['/Users/smith/Dropbox/www/swing',
'/Users/smith/venv/swing/lib/python2.7/site-packages/wurfl_cloud-1.0.1-py2.7.egg',
'/Users/smith/venv/swing/lib/python27.zip',
'/Users/smith/venv/swing/lib/python2.7',
'/Users/smith/venv/swing/lib/python2.7/plat-darwin',
'/Users/smith/venv/swing/lib/python2.7/plat-mac',
'/Users/smith/venv/swing/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/Extras/lib/python',
'/Users/smith/venv/swing/lib/python2.7/lib-tk',
'/Users/smith/venv/swing/lib/python2.7/lib-old',
'/Users/smith/venv/swing/lib/python2.7/lib-dynload',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/lib/python2.7/site-packages']
No começo, comecei a pensar que talvez esteja me dizendo que pode encontrar o padrão de URL correto no meu arquivo home / urls.py porque a assinatura do URL no meu formulário está incorreta. Talvez eu precise fazer isso para corresponder aos argumentos na exibição sign_in:
<form action="{% url 'apps.home.views.sign_in' 'home/home_page.html' %}" method="post">
Mas eu já estou mostrando o nome do modelo no URLconf inicial. E acho que não preciso passar os outros argumentos de exibição na ação do formulário (por exemplo, redirect_field_name) porque são opcionais. De qualquer forma, adicionar esse argumento à ação do formulário não o corrigiu.
Uma das coisas que me confunde é como definir o primeiro argumento de URL. Eu configurei-os para r '^ sign_in / $12$#39; e r '^ sign_up / $12$#39; porque, se eu configurá-los para r '^ $12$#39;, a página será renderizada corretamente, mas quando eu enviar um formulário, apenas as postagens serão retornadas para a página inicial. Você pode ver que isso acontecerá fazendo uma "fonte de visualização" na página. Ele mostra que a ação de cada formulário será "/". Por outro lado, o jeito que eu o tenho agora parece incorreto para mim, porque o site não terá realmente um URL "/ sign_in /" e "/ sign_up /", pois os dois formulários estão na página inicial. Além disso, haverá um problema no qual, se o usuário enviar um ou outro incorretamente, os erros dos dois formulários serão renderizados na página?
A documentação do Django, até onde sei, não descreve realmente uma abordagem padrão para fazer o que estou tentando fazer. Ele descreve como renderizar várias versões do mesmo formulário. Alguém pode me dizer o que estou fazendo de errado?
Obrigado.
]
Request Method: GET
Request URL: http://localhost:8000/
Django Version: 1.6.2
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/No começo, comecei a pensar que talvez esteja me dizendo que pode encontrar o padrão de URL correto no meu arquivo home / urls.py porque a assinatura do URL no meu formulário está incorreta. Talvez eu precise fazer isso para corresponder aos argumentos na exibição sign_in:
<form action="{% url 'apps.home.views.sign_in' 'home/home_page.html' %}" method="post">
Mas eu já estou mostrando o nome do modelo no URLconf inicial. E acho que não preciso passar os outros argumentos de exibição na ação do formulário (por exemplo, redirect_field_name) porque são opcionais. De qualquer forma, adicionar esse argumento à ação do formulário não o corrigiu.
Uma das coisas que me confunde é como definir o primeiro argumento de URL. Eu configurei-os para r '^ sign_in / $12$#39; e r '^ sign_up / $12$#39; porque, se eu configurá-los para r '^ $12$#39;, a página será renderizada corretamente, mas quando eu enviar um formulário, apenas as postagens serão retornadas para a página inicial. Você pode ver que isso acontecerá fazendo uma "fonte de visualização" na página. Ele mostra que a ação de cada formulário será "/". Por outro lado, o jeito que eu o tenho agora parece incorreto para mim, porque o site não terá realmente um URL "/ sign_in /" e "/ sign_up /", pois os dois formulários estão na página inicial. Além disso, haverá um problema no qual, se o usuário enviar um ou outro incorretamente, os erros dos dois formulários serão renderizados na página?
A documentação do Django, até onde sei, não descreve realmente uma abordagem padrão para fazer o que estou tentando fazer. Ele descreve como renderizar várias versões do mesmo formulário. Alguém pode me dizer o que estou fazendo de errado?
Obrigado.
, include('apps.home.urls')),
# Other url patterns...
)
# apps/home/urls.py
urlpatterns = patterns('apps.home.views',
url(r'^O problema é que eu recebo esse erro durante a renderização do modelo:
NoReverseMatch at /
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Request Method: GET
Request URL: http://localhost:8000/
Django Version: 1.6.2
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Exception Location: /Users/smith/venv/swing/lib/python2.7/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 429
Python Executable: /Users/smith/venv/swing/bin/python
Python Version: 2.7.5
Python Path:
['/Users/smith/Dropbox/www/swing',
'/Users/smith/venv/swing/lib/python2.7/site-packages/wurfl_cloud-1.0.1-py2.7.egg',
'/Users/smith/venv/swing/lib/python27.zip',
'/Users/smith/venv/swing/lib/python2.7',
'/Users/smith/venv/swing/lib/python2.7/plat-darwin',
'/Users/smith/venv/swing/lib/python2.7/plat-mac',
'/Users/smith/venv/swing/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/Extras/lib/python',
'/Users/smith/venv/swing/lib/python2.7/lib-tk',
'/Users/smith/venv/swing/lib/python2.7/lib-old',
'/Users/smith/venv/swing/lib/python2.7/lib-dynload',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/lib/python2.7/site-packages']
No começo, comecei a pensar que talvez esteja me dizendo que pode encontrar o padrão de URL correto no meu arquivo home / urls.py porque a assinatura do URL no meu formulário está incorreta. Talvez eu precise fazer isso para corresponder aos argumentos na exibição sign_in:
<form action="{% url 'apps.home.views.sign_in' 'home/home_page.html' %}" method="post">
Mas eu já estou mostrando o nome do modelo no URLconf inicial. E acho que não preciso passar os outros argumentos de exibição na ação do formulário (por exemplo, redirect_field_name) porque são opcionais. De qualquer forma, adicionar esse argumento à ação do formulário não o corrigiu.
Uma das coisas que me confunde é como definir o primeiro argumento de URL. Eu configurei-os para r '^ sign_in / $12$#39; e r '^ sign_up / $12$#39; porque, se eu configurá-los para r '^ $12$#39;, a página será renderizada corretamente, mas quando eu enviar um formulário, apenas as postagens serão retornadas para a página inicial. Você pode ver que isso acontecerá fazendo uma "fonte de visualização" na página. Ele mostra que a ação de cada formulário será "/". Por outro lado, o jeito que eu o tenho agora parece incorreto para mim, porque o site não terá realmente um URL "/ sign_in /" e "/ sign_up /", pois os dois formulários estão na página inicial. Além disso, haverá um problema no qual, se o usuário enviar um ou outro incorretamente, os erros dos dois formulários serão renderizados na página?
A documentação do Django, até onde sei, não descreve realmente uma abordagem padrão para fazer o que estou tentando fazer. Ele descreve como renderizar várias versões do mesmo formulário. Alguém pode me dizer o que estou fazendo de errado?
Obrigado.
,
'home_page',
{'template': 'home/home_page.html'},
name='home-page'),
url(r'^sign_in/O problema é que eu recebo esse erro durante a renderização do modelo:
NoReverseMatch at /
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Request Method: GET
Request URL: http://localhost:8000/
Django Version: 1.6.2
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Exception Location: /Users/smith/venv/swing/lib/python2.7/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 429
Python Executable: /Users/smith/venv/swing/bin/python
Python Version: 2.7.5
Python Path:
['/Users/smith/Dropbox/www/swing',
'/Users/smith/venv/swing/lib/python2.7/site-packages/wurfl_cloud-1.0.1-py2.7.egg',
'/Users/smith/venv/swing/lib/python27.zip',
'/Users/smith/venv/swing/lib/python2.7',
'/Users/smith/venv/swing/lib/python2.7/plat-darwin',
'/Users/smith/venv/swing/lib/python2.7/plat-mac',
'/Users/smith/venv/swing/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/Extras/lib/python',
'/Users/smith/venv/swing/lib/python2.7/lib-tk',
'/Users/smith/venv/swing/lib/python2.7/lib-old',
'/Users/smith/venv/swing/lib/python2.7/lib-dynload',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/lib/python2.7/site-packages']
No começo, comecei a pensar que talvez esteja me dizendo que pode encontrar o padrão de URL correto no meu arquivo home / urls.py porque a assinatura do URL no meu formulário está incorreta. Talvez eu precise fazer isso para corresponder aos argumentos na exibição sign_in:
<form action="{% url 'apps.home.views.sign_in' 'home/home_page.html' %}" method="post">
Mas eu já estou mostrando o nome do modelo no URLconf inicial. E acho que não preciso passar os outros argumentos de exibição na ação do formulário (por exemplo, redirect_field_name) porque são opcionais. De qualquer forma, adicionar esse argumento à ação do formulário não o corrigiu.
Uma das coisas que me confunde é como definir o primeiro argumento de URL. Eu configurei-os para r '^ sign_in / $12$#39; e r '^ sign_up / $12$#39; porque, se eu configurá-los para r '^ $12$#39;, a página será renderizada corretamente, mas quando eu enviar um formulário, apenas as postagens serão retornadas para a página inicial. Você pode ver que isso acontecerá fazendo uma "fonte de visualização" na página. Ele mostra que a ação de cada formulário será "/". Por outro lado, o jeito que eu o tenho agora parece incorreto para mim, porque o site não terá realmente um URL "/ sign_in /" e "/ sign_up /", pois os dois formulários estão na página inicial. Além disso, haverá um problema no qual, se o usuário enviar um ou outro incorretamente, os erros dos dois formulários serão renderizados na página?
A documentação do Django, até onde sei, não descreve realmente uma abordagem padrão para fazer o que estou tentando fazer. Ele descreve como renderizar várias versões do mesmo formulário. Alguém pode me dizer o que estou fazendo de errado?
Obrigado.
,
'sign_in',
{'template': 'home/home_page.html'},
name='sign-in'),
url(r'^sign_up/O problema é que eu recebo esse erro durante a renderização do modelo:
NoReverseMatch at /
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Request Method: GET
Request URL: http://localhost:8000/
Django Version: 1.6.2
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Exception Location: /Users/smith/venv/swing/lib/python2.7/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 429
Python Executable: /Users/smith/venv/swing/bin/python
Python Version: 2.7.5
Python Path:
['/Users/smith/Dropbox/www/swing',
'/Users/smith/venv/swing/lib/python2.7/site-packages/wurfl_cloud-1.0.1-py2.7.egg',
'/Users/smith/venv/swing/lib/python27.zip',
'/Users/smith/venv/swing/lib/python2.7',
'/Users/smith/venv/swing/lib/python2.7/plat-darwin',
'/Users/smith/venv/swing/lib/python2.7/plat-mac',
'/Users/smith/venv/swing/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/Extras/lib/python',
'/Users/smith/venv/swing/lib/python2.7/lib-tk',
'/Users/smith/venv/swing/lib/python2.7/lib-old',
'/Users/smith/venv/swing/lib/python2.7/lib-dynload',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/lib/python2.7/site-packages']
No começo, comecei a pensar que talvez esteja me dizendo que pode encontrar o padrão de URL correto no meu arquivo home / urls.py porque a assinatura do URL no meu formulário está incorreta. Talvez eu precise fazer isso para corresponder aos argumentos na exibição sign_in:
<form action="{% url 'apps.home.views.sign_in' 'home/home_page.html' %}" method="post">
Mas eu já estou mostrando o nome do modelo no URLconf inicial. E acho que não preciso passar os outros argumentos de exibição na ação do formulário (por exemplo, redirect_field_name) porque são opcionais. De qualquer forma, adicionar esse argumento à ação do formulário não o corrigiu.
Uma das coisas que me confunde é como definir o primeiro argumento de URL. Eu configurei-os para r '^ sign_in / $12$#39; e r '^ sign_up / $12$#39; porque, se eu configurá-los para r '^ $12$#39;, a página será renderizada corretamente, mas quando eu enviar um formulário, apenas as postagens serão retornadas para a página inicial. Você pode ver que isso acontecerá fazendo uma "fonte de visualização" na página. Ele mostra que a ação de cada formulário será "/". Por outro lado, o jeito que eu o tenho agora parece incorreto para mim, porque o site não terá realmente um URL "/ sign_in /" e "/ sign_up /", pois os dois formulários estão na página inicial. Além disso, haverá um problema no qual, se o usuário enviar um ou outro incorretamente, os erros dos dois formulários serão renderizados na página?
A documentação do Django, até onde sei, não descreve realmente uma abordagem padrão para fazer o que estou tentando fazer. Ele descreve como renderizar várias versões do mesmo formulário. Alguém pode me dizer o que estou fazendo de errado?
Obrigado.
,
'sign_up',
{'template': 'home/home_page.html'},
name='sign-up'),
)
O problema é que eu recebo esse erro durante a renderização do modelo:
NoReverseMatch at /
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Request Method: GET
Request URL: http://localhost:8000/
Django Version: 1.6.2
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Exception Location: /Users/smith/venv/swing/lib/python2.7/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 429
Python Executable: /Users/smith/venv/swing/bin/python
Python Version: 2.7.5
Python Path:
['/Users/smith/Dropbox/www/swing',
'/Users/smith/venv/swing/lib/python2.7/site-packages/wurfl_cloud-1.0.1-py2.7.egg',
'/Users/smith/venv/swing/lib/python27.zip',
'/Users/smith/venv/swing/lib/python2.7',
'/Users/smith/venv/swing/lib/python2.7/plat-darwin',
'/Users/smith/venv/swing/lib/python2.7/plat-mac',
'/Users/smith/venv/swing/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/Extras/lib/python',
'/Users/smith/venv/swing/lib/python2.7/lib-tk',
'/Users/smith/venv/swing/lib/python2.7/lib-old',
'/Users/smith/venv/swing/lib/python2.7/lib-dynload',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/lib/python2.7/site-packages']
No começo, comecei a pensar que talvez esteja me dizendo que pode encontrar o padrão de URL correto no meu arquivo home / urls.py porque a assinatura do URL no meu formulário está incorreta. Talvez eu precise fazer isso para corresponder aos argumentos na exibição sign_in:
<form action="{% url 'apps.home.views.sign_in' 'home/home_page.html' %}" method="post">
Mas eu já estou mostrando o nome do modelo no URLconf inicial. E acho que não preciso passar os outros argumentos de exibição na ação do formulário (por exemplo, redirect_field_name) porque são opcionais. De qualquer forma, adicionar esse argumento à ação do formulário não o corrigiu.
Uma das coisas que me confunde é como definir o primeiro argumento de URL. Eu configurei-os para r '^ sign_in / $12$#39; e r '^ sign_up / $12$#39; porque, se eu configurá-los para r '^ $12$#39;, a página será renderizada corretamente, mas quando eu enviar um formulário, apenas as postagens serão retornadas para a página inicial. Você pode ver que isso acontecerá fazendo uma "fonte de visualização" na página. Ele mostra que a ação de cada formulário será "/". Por outro lado, o jeito que eu o tenho agora parece incorreto para mim, porque o site não terá realmente um URL "/ sign_in /" e "/ sign_up /", pois os dois formulários estão na página inicial. Além disso, haverá um problema no qual, se o usuário enviar um ou outro incorretamente, os erros dos dois formulários serão renderizados na página?
A documentação do Django, até onde sei, não descreve realmente uma abordagem padrão para fazer o que estou tentando fazer. Ele descreve como renderizar várias versões do mesmo formulário. Alguém pode me dizer o que estou fazendo de errado?
Obrigado.
] Exception Location: /Users/smith/venv/swing/lib/python2.7/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 429 Python Executable: /Users/smith/venv/swing/bin/python Python Version: 2.7.5 Python Path: ['/Users/smith/Dropbox/www/swing', '/Users/smith/venv/swing/lib/python2.7/site-packages/wurfl_cloud-1.0.1-py2.7.egg', '/Users/smith/venv/swing/lib/python27.zip', '/Users/smith/venv/swing/lib/python2.7', '/Users/smith/venv/swing/lib/python2.7/plat-darwin', '/Users/smith/venv/swing/lib/python2.7/plat-mac', '/Users/smith/venv/swing/lib/python2.7/plat-mac/lib-scriptpackages', '/Users/smith/venv/swing/Extras/lib/python', '/Users/smith/venv/swing/lib/python2.7/lib-tk', '/Users/smith/venv/swing/lib/python2.7/lib-old', '/Users/smith/venv/swing/lib/python2.7/lib-dynload', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/Users/smith/venv/swing/lib/python2.7/site-packages']No começo, comecei a pensar que talvez esteja me dizendo que pode encontrar o padrão de URL correto no meu arquivo home / urls.py porque a assinatura do URL no meu formulário está incorreta. Talvez eu precise fazer isso para corresponder aos argumentos na exibição sign_in:
<form action="{% url 'apps.home.views.sign_in' 'home/home_page.html' %}" method="post">
Mas eu já estou mostrando o nome do modelo no URLconf inicial. E acho que não preciso passar os outros argumentos de exibição na ação do formulário (por exemplo, redirect_field_name) porque são opcionais. De qualquer forma, adicionar esse argumento à ação do formulário não o corrigiu.
Uma das coisas que me confunde é como definir o primeiro argumento de URL. Eu configurei-os para r '^ sign_in / $12$#39; e r '^ sign_up / $12$#39; porque, se eu configurá-los para r '^ $12$#39;, a página será renderizada corretamente, mas quando eu enviar um formulário, apenas as postagens serão retornadas para a página inicial. Você pode ver que isso acontecerá fazendo uma "fonte de visualização" na página. Ele mostra que a ação de cada formulário será "/". Por outro lado, o jeito que eu o tenho agora parece incorreto para mim, porque o site não terá realmente um URL "/ sign_in /" e "/ sign_up /", pois os dois formulários estão na página inicial. Além disso, haverá um problema no qual, se o usuário enviar um ou outro incorretamente, os erros dos dois formulários serão renderizados na página?
A documentação do Django, até onde sei, não descreve realmente uma abordagem padrão para fazer o que estou tentando fazer. Ele descreve como renderizar várias versões do mesmo formulário. Alguém pode me dizer o que estou fazendo de errado?
Obrigado.
, include('apps.home.urls')), # Other url patterns... ) # apps/home/urls.py urlpatterns = patterns('apps.home.views', url(r'^O problema é que eu recebo esse erro durante a renderização do modelo:
NoReverseMatch at /
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Request Method: GET
Request URL: http://localhost:8000/
Django Version: 1.6.2
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Exception Location: /Users/smith/venv/swing/lib/python2.7/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 429
Python Executable: /Users/smith/venv/swing/bin/python
Python Version: 2.7.5
Python Path:
['/Users/smith/Dropbox/www/swing',
'/Users/smith/venv/swing/lib/python2.7/site-packages/wurfl_cloud-1.0.1-py2.7.egg',
'/Users/smith/venv/swing/lib/python27.zip',
'/Users/smith/venv/swing/lib/python2.7',
'/Users/smith/venv/swing/lib/python2.7/plat-darwin',
'/Users/smith/venv/swing/lib/python2.7/plat-mac',
'/Users/smith/venv/swing/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/Extras/lib/python',
'/Users/smith/venv/swing/lib/python2.7/lib-tk',
'/Users/smith/venv/swing/lib/python2.7/lib-old',
'/Users/smith/venv/swing/lib/python2.7/lib-dynload',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/lib/python2.7/site-packages']
No começo, comecei a pensar que talvez esteja me dizendo que pode encontrar o padrão de URL correto no meu arquivo home / urls.py porque a assinatura do URL no meu formulário está incorreta. Talvez eu precise fazer isso para corresponder aos argumentos na exibição sign_in:
<form action="{% url 'apps.home.views.sign_in' 'home/home_page.html' %}" method="post">
Mas eu já estou mostrando o nome do modelo no URLconf inicial. E acho que não preciso passar os outros argumentos de exibição na ação do formulário (por exemplo, redirect_field_name) porque são opcionais. De qualquer forma, adicionar esse argumento à ação do formulário não o corrigiu.
Uma das coisas que me confunde é como definir o primeiro argumento de URL. Eu configurei-os para r '^ sign_in / $12$#39; e r '^ sign_up / $12$#39; porque, se eu configurá-los para r '^ $12$#39;, a página será renderizada corretamente, mas quando eu enviar um formulário, apenas as postagens serão retornadas para a página inicial. Você pode ver que isso acontecerá fazendo uma "fonte de visualização" na página. Ele mostra que a ação de cada formulário será "/". Por outro lado, o jeito que eu o tenho agora parece incorreto para mim, porque o site não terá realmente um URL "/ sign_in /" e "/ sign_up /", pois os dois formulários estão na página inicial. Além disso, haverá um problema no qual, se o usuário enviar um ou outro incorretamente, os erros dos dois formulários serão renderizados na página?
A documentação do Django, até onde sei, não descreve realmente uma abordagem padrão para fazer o que estou tentando fazer. Ele descreve como renderizar várias versões do mesmo formulário. Alguém pode me dizer o que estou fazendo de errado?
Obrigado.
, 'home_page', {'template': 'home/home_page.html'}, name='home-page'), url(r'^sign_in/O problema é que eu recebo esse erro durante a renderização do modelo:
NoReverseMatch at /
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Request Method: GET
Request URL: http://localhost:8000/
Django Version: 1.6.2
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Exception Location: /Users/smith/venv/swing/lib/python2.7/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 429
Python Executable: /Users/smith/venv/swing/bin/python
Python Version: 2.7.5
Python Path:
['/Users/smith/Dropbox/www/swing',
'/Users/smith/venv/swing/lib/python2.7/site-packages/wurfl_cloud-1.0.1-py2.7.egg',
'/Users/smith/venv/swing/lib/python27.zip',
'/Users/smith/venv/swing/lib/python2.7',
'/Users/smith/venv/swing/lib/python2.7/plat-darwin',
'/Users/smith/venv/swing/lib/python2.7/plat-mac',
'/Users/smith/venv/swing/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/Extras/lib/python',
'/Users/smith/venv/swing/lib/python2.7/lib-tk',
'/Users/smith/venv/swing/lib/python2.7/lib-old',
'/Users/smith/venv/swing/lib/python2.7/lib-dynload',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/lib/python2.7/site-packages']
No começo, comecei a pensar que talvez esteja me dizendo que pode encontrar o padrão de URL correto no meu arquivo home / urls.py porque a assinatura do URL no meu formulário está incorreta. Talvez eu precise fazer isso para corresponder aos argumentos na exibição sign_in:
<form action="{% url 'apps.home.views.sign_in' 'home/home_page.html' %}" method="post">
Mas eu já estou mostrando o nome do modelo no URLconf inicial. E acho que não preciso passar os outros argumentos de exibição na ação do formulário (por exemplo, redirect_field_name) porque são opcionais. De qualquer forma, adicionar esse argumento à ação do formulário não o corrigiu.
Uma das coisas que me confunde é como definir o primeiro argumento de URL. Eu configurei-os para r '^ sign_in / $12$#39; e r '^ sign_up / $12$#39; porque, se eu configurá-los para r '^ $12$#39;, a página será renderizada corretamente, mas quando eu enviar um formulário, apenas as postagens serão retornadas para a página inicial. Você pode ver que isso acontecerá fazendo uma "fonte de visualização" na página. Ele mostra que a ação de cada formulário será "/". Por outro lado, o jeito que eu o tenho agora parece incorreto para mim, porque o site não terá realmente um URL "/ sign_in /" e "/ sign_up /", pois os dois formulários estão na página inicial. Além disso, haverá um problema no qual, se o usuário enviar um ou outro incorretamente, os erros dos dois formulários serão renderizados na página?
A documentação do Django, até onde sei, não descreve realmente uma abordagem padrão para fazer o que estou tentando fazer. Ele descreve como renderizar várias versões do mesmo formulário. Alguém pode me dizer o que estou fazendo de errado?
Obrigado.
, 'sign_in', {'template': 'home/home_page.html'}, name='sign-in'), url(r'^sign_up/O problema é que eu recebo esse erro durante a renderização do modelo:
NoReverseMatch at /
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Request Method: GET
Request URL: http://localhost:8000/
Django Version: 1.6.2
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Exception Location: /Users/smith/venv/swing/lib/python2.7/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 429
Python Executable: /Users/smith/venv/swing/bin/python
Python Version: 2.7.5
Python Path:
['/Users/smith/Dropbox/www/swing',
'/Users/smith/venv/swing/lib/python2.7/site-packages/wurfl_cloud-1.0.1-py2.7.egg',
'/Users/smith/venv/swing/lib/python27.zip',
'/Users/smith/venv/swing/lib/python2.7',
'/Users/smith/venv/swing/lib/python2.7/plat-darwin',
'/Users/smith/venv/swing/lib/python2.7/plat-mac',
'/Users/smith/venv/swing/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/Extras/lib/python',
'/Users/smith/venv/swing/lib/python2.7/lib-tk',
'/Users/smith/venv/swing/lib/python2.7/lib-old',
'/Users/smith/venv/swing/lib/python2.7/lib-dynload',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/lib/python2.7/site-packages']
No começo, comecei a pensar que talvez esteja me dizendo que pode encontrar o padrão de URL correto no meu arquivo home / urls.py porque a assinatura do URL no meu formulário está incorreta. Talvez eu precise fazer isso para corresponder aos argumentos na exibição sign_in:
<form action="{% url 'apps.home.views.sign_in' 'home/home_page.html' %}" method="post">
Mas eu já estou mostrando o nome do modelo no URLconf inicial. E acho que não preciso passar os outros argumentos de exibição na ação do formulário (por exemplo, redirect_field_name) porque são opcionais. De qualquer forma, adicionar esse argumento à ação do formulário não o corrigiu.
Uma das coisas que me confunde é como definir o primeiro argumento de URL. Eu configurei-os para r '^ sign_in / $12$#39; e r '^ sign_up / $12$#39; porque, se eu configurá-los para r '^ $12$#39;, a página será renderizada corretamente, mas quando eu enviar um formulário, apenas as postagens serão retornadas para a página inicial. Você pode ver que isso acontecerá fazendo uma "fonte de visualização" na página. Ele mostra que a ação de cada formulário será "/". Por outro lado, o jeito que eu o tenho agora parece incorreto para mim, porque o site não terá realmente um URL "/ sign_in /" e "/ sign_up /", pois os dois formulários estão na página inicial. Além disso, haverá um problema no qual, se o usuário enviar um ou outro incorretamente, os erros dos dois formulários serão renderizados na página?
A documentação do Django, até onde sei, não descreve realmente uma abordagem padrão para fazer o que estou tentando fazer. Ele descreve como renderizar várias versões do mesmo formulário. Alguém pode me dizer o que estou fazendo de errado?
Obrigado.
, 'sign_up', {'template': 'home/home_page.html'}, name='sign-up'), )O problema é que eu recebo esse erro durante a renderização do modelo:
NoReverseMatch at /
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Request Method: GET
Request URL: http://localhost:8000/
Django Version: 1.6.2
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'apps.home.views.sign_in' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['$sign_in/$']
Exception Location: /Users/smith/venv/swing/lib/python2.7/site-packages/django/core/urlresolvers.py in _reverse_with_prefix, line 429
Python Executable: /Users/smith/venv/swing/bin/python
Python Version: 2.7.5
Python Path:
['/Users/smith/Dropbox/www/swing',
'/Users/smith/venv/swing/lib/python2.7/site-packages/wurfl_cloud-1.0.1-py2.7.egg',
'/Users/smith/venv/swing/lib/python27.zip',
'/Users/smith/venv/swing/lib/python2.7',
'/Users/smith/venv/swing/lib/python2.7/plat-darwin',
'/Users/smith/venv/swing/lib/python2.7/plat-mac',
'/Users/smith/venv/swing/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/Extras/lib/python',
'/Users/smith/venv/swing/lib/python2.7/lib-tk',
'/Users/smith/venv/swing/lib/python2.7/lib-old',
'/Users/smith/venv/swing/lib/python2.7/lib-dynload',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/Users/smith/venv/swing/lib/python2.7/site-packages']
No começo, comecei a pensar que talvez esteja me dizendo que pode encontrar o padrão de URL correto no meu arquivo home / urls.py porque a assinatura do URL no meu formulário está incorreta. Talvez eu precise fazer isso para corresponder aos argumentos na exibição sign_in:
<form action="{% url 'apps.home.views.sign_in' 'home/home_page.html' %}" method="post">
Mas eu já estou mostrando o nome do modelo no URLconf inicial. E acho que não preciso passar os outros argumentos de exibição na ação do formulário (por exemplo, redirect_field_name) porque são opcionais. De qualquer forma, adicionar esse argumento à ação do formulário não o corrigiu.
Uma das coisas que me confunde é como definir o primeiro argumento de URL. Eu configurei-os para r '^ sign_in / $12$#39; e r '^ sign_up / $12$#39; porque, se eu configurá-los para r '^ $12$#39;, a página será renderizada corretamente, mas quando eu enviar um formulário, apenas as postagens serão retornadas para a página inicial. Você pode ver que isso acontecerá fazendo uma "fonte de visualização" na página. Ele mostra que a ação de cada formulário será "/". Por outro lado, o jeito que eu o tenho agora parece incorreto para mim, porque o site não terá realmente um URL "/ sign_in /" e "/ sign_up /", pois os dois formulários estão na página inicial. Além disso, haverá um problema no qual, se o usuário enviar um ou outro incorretamente, os erros dos dois formulários serão renderizados na página?
A documentação do Django, até onde sei, não descreve realmente uma abordagem padrão para fazer o que estou tentando fazer. Ele descreve como renderizar várias versões do mesmo formulário. Alguém pode me dizer o que estou fazendo de errado?
Obrigado.