every one ,, I am using
django-registration-redux (1.4)
for my django registration(django 1.8),,however ,,when never I registered the web will show the error
,,but the views.py in form_valid, line 43 it is the editing function,,it seems not about the register??
views.py
@login_required
def edit_thing(request, slug):
# grab the object...
thing = ProductsTbl.objects.get(slug=slug)
if thing.user != request.user:
raise Http404
# set the form we're using...
form_class = ProductsTblForm
if request.method == 'POST':
# grab the data from the submitted form
form = form_class(data=request.POST,files=request.FILES,instance=thing)#**line 43**
if form.is_valid():
# save the new data
form.save()
return redirect('thing_detail', slug=thing.slug)
# otherwise just create the form
else:
form = form_class(instance=thing)
# and render the template
return render(request, 'things/edit_thing.html', {
'thing': thing,
'form': form,
})
urls.py
from django.conf.urls import patterns, url,include
from django.contrib import admin
from django.views.generic import TemplateView
from designer import views
from designer.backends import MyRegistrationView
from django.conf import settings
from django.contrib.auth.views import (
password_reset,
password_reset_done,
password_reset_confirm,
password_reset_complete,
)
....
urlpatterns = [
....
url(r'^accounts/register/$', MyRegistrationView.as_view(), name='registration_register'),
....
]
registration_form.html
<h1>Registration Form</h1>
<form role="form" action="" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
{% endblock content %}
,,though got this error ,,my databases still wrote in the user and password,,,. can any one tell me why I got this error,,thank you very much
backends.py
from registration.backends.simple.views import RegistrationView
class MyRegistrationView(RegistrationView):
def get_success_url(self, request, user):
# the named URL that we want to redirect to after # successful registration
return ('home')
In django-registration-redux RegistrationView has get_success_url defined as this.
Thus it seems that only two parameters will be passed to that funciton. Yet in your subclass of if you have
Which has an extra request parameter which you are not going to recieve. hence the error.
after version 1.4 the get_success_url method does not take request as an argument:
However, if you do need to process the request object (for example you want to remember the page from which the user decided to register which may be passed as a get or post argument) django-registration-redux provides a very convenient signal: registration.signals.user_registered
as follows:
The
get_success_url
method does not take request as an argument. Remove it.In this case, since you always redirect to the
home
view, you could setsuccess_url
instead: