我有一个错字,但只是在我处理了这段代码之后才弄乱了:
我尝试重定向到另一个表单并使用相对链接,我们最终使用redirect_lazy并在应用程序中使用url.py:url(r'^ step1 / $',views.step1,name ='步骤1' ),
我们从一种形式重定向到另一种形式,当您的应用拥有自己的网址时,它不会将相对网址重定向到某个表单:它可能会导致重大问题......无论如何,如果有人卡在那里我会分享整个解决方案。
............................................... ......................... 我有一个问题,我认为是来自使用login_required。这说明修复是使用我在重定向中执行的lazy_reverse,这消除了网站广泛崩溃,并在下面显示相同的错误消息。现在它被孤立到了自己的视野。我认为这是渲染,但我不确定该怎么做......任何帮助都会很棒:
*makeProfile app:*
views.py
@login_required
def step1(request):
title =" Step 1 of 4 "
profile, created = Profile.objects.get_or_create(user=request.user)
form = step1Form(request.POST or None, instance=profile)
context ={
"title":title,
"form":form
}
if form.is_valid():
instance =form.save(commit=False)
instance.user = request.user
name = form.cleaned_data.get("name")
surname = form.cleaned_data.get("surname")
country = form.cleaned_data.get("country")
state = form.cleaned_data.get("state")
city = form.cleaned_data.get("city")
statusType = form.cleaned_data.get("statusType")
instance.name = name
instance.surname = surname
instance.country = country
instance.state = state
instance.city = city
instance.statusType = statusType
instance.save()
return HttpResponseRedirect(reverse_lazy('makeProfile:step2'))
return render (request, "makeProfile/step1.html", context)
url.py
from django.conf.urls import include ,url,patterns
from . import views
urlpatters = [
url(r'^$', 'views.step1', name='step1'),
url(r'^$', 'views.step2', name='step2'),
url(r'^$', 'views.step3', name='step3'),
url(r'^$', 'views.step4', name='step4'),
]
root :url.py
from django.conf import settings
from django.conf.urls import patterns, include, url
from django.conf.urls.static import static
from django.contrib import admin
urlpatterns = [
# Examples:
url(r'^$', 'newsletter.views.home', name='home'),
url(r'^question/(?P<id>\d+)/$', 'questions.views.single', name='question_single'),
url(r'^question/$', 'questions.views.home', name='question_home'),
url(r'^contact/$', 'newsletter.views.contact', name='contact'),
url(r'^about/$', 'ruLinked.views.about', name='about'),
url(r'^makeProfile/', include('makeProfile.urls',namespace='makeProfile')),
url(r'^admin/', include(admin.site.urls)),
url(r'^accounts/', include('registration.backends.default.urls')),
]
# if settings.DEBUG:
# urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
# urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
回溯
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8888/makeProfile/step1
Django Version: 1.8.3
Python Version: 3.4.3
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'crispy_forms',
'registration',
'newsletter',
'questions',
'makeProfile')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware')
Traceback:
File "/home/g4/django/ruLinked/lib/python3.4/site- packages/django/core/handlers/base.py" in get_response
108. response = middleware_method(request)
File "/home/g4/django/ruLinked/lib/python3.4/site- packages/django/middleware/common.py" in process_request
74. if (not urlresolvers.is_valid_path(request.path_info, urlconf) and
File "/home/g4/django/ruLinked/lib/python3.4/site- packages/django/core/urlresolvers.py" in is_valid_path
647. resolve(path, urlconf)
File "/home/g4/django/ruLinked/lib/python3.4/site- packages/django/core/urlresolvers.py" in resolve
522. return get_resolver(urlconf).resolve(path)
File "/home/g4/django/ruLinked/lib/python3.4/site- packages/django/core/urlresolvers.py" in resolve
368. sub_match = pattern.resolve(new_path)
File "/home/g4/django/ruLinked/lib/python3.4/site-packages/django/core/urlresolvers.py" in resolve
366. for pattern in self.url_patterns:
File "/home/g4/django/ruLinked/lib/python3.4/site-packages/django/core/urlresolvers.py" in url_patterns
411. raise ImproperlyConfigured(msg.format(name=self.urlconf_name))
Exception Type: ImproperlyConfigured at /makeProfile/step1
Exception Value: The included urlconf '<module 'makeProfile.urls' from '/home/g4/django/ruLinked/src/makeProfile/urls.py'>' does not appear to have any patterns in it. If you see valid patterns in the file then the issue is probably caused by a circular import.
对堆栈溢出有一些答案,但他们在重定向上使用reverse_lazy解决了这个问题,所以不确定我的是什么。
非常感谢你,如果你读完了所有这些。
答案 0 :(得分:0)
我认为你需要这样做;
urlpatterns = [
url(r'^step1/$', 'views.step1', name='step1'),
url(r'^step2/$', 'views.step2', name='step2'),
url(r'^step3/$', 'views.step3', name='step3'),
url(r'^step4/$', 'views.step4', name='step4'),
]
答案 1 :(得分:0)
您有拼写错误,应该是IS MISSING
,而不是urlpatterns
。
urlpatters
您不需要在step1视图中使用urlpatters = [
url(r'^$', 'views.step1', name='step1'),
url(r'^$', 'views.step2', name='step2'),
url(r'^$', 'views.step3', name='step3'),
url(r'^$', 'views.step4', name='step4'),
]
,因为在加载url配置后,视图中的调用会发生。您可以使用重定向快捷方式进一步简化代码。
reverse_lazy