modelform 클래스에 URL을 가져오고 싶습니다. 본인은 The included urlconf manager.urls doesn't have any patterns in it입니다. 그러나 내 경우에는 reverse_lazy 기능이 작동하지 않습니다.
포함 된 urlconf xxxx.urls에 패턴이 없습니다.
내 경우 :
captchahelper는 루트의 응용 프로그램입니다.
루트 urlpatterns (루트 프로젝트 아래에 urls.py) :
urlpatterns = patterns("",
.....
# captcha
url(r'^captcha/', include('captchahelper.urls')),
.....
}
보안 문자 urlpatterns (captchahelper 프로젝트에서 urls.py) :
urlpatterns = patterns('',
url(r'^$', views.captcha , name="views_captcha"),
url(r'^refresh/$', views.refresh , name="views_refresh_captcha"),
)
볼 수 있습니다. captchahelper 프로젝트 아래의 py
def captcha(request):
.....
return HttpResponse(captcha.gen_img_by_code(code),'image/jpeg')
GET :
class CaptchaForm(forms.ModelForm):
.....
captcha = Captcha()
encoded = captcha.get_encrypt_code()
captcha_image = urlresolvers.reverse_lazy('views_captcha') + '?encoded='+encoded
.....
def clean_captcha_text(self):
....
차례 초과 오류 :
/계정/가입/인 현재의 URL를 (또한이 root.urls에 포함), 방문자가이 페이지를 볼 때, 위의 클래스는 해당 뷰 함수에서 init이됩니다.
ImproperlyConfigured at /account/signup/
The included urlconf root.urls doesn't have any patterns in it
D:\Python27\lib\site-packages\django\core\urlresolvers.py in reverse
return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)) ...
▼ Local vars
Variable Value
ns_pattern
''
viewname
'views_captcha'
args
[]
current_app
None
prefix
u'/'
parts
['views_captcha']
resolver
<RegexURLResolver root.urls (None:None) ^/>
kwargs
{}
path
[]
resolved_path
[]
urlconf
'root.urls'
view
'views_captcha'
난 그냥 장고의 쿼리 문자열과 URL을 생성 할 경우 내가 쉽게 MVC3.But에서
Url.Action("CaptchaController", "CaptchaView", new { encoded = "encoded"})
같은 문에서 쿼리 문자열과 URL을 생성 할 수 있습니다 ASP MVC3.I에서 온 때문에 장고가 너무 복잡하다고 생각
코드는 reverse('captcha') + '?encoded=' + encoded
이 될 것입니다. 정말 못생긴 것입니다 ....
보기입니다.captcha는 내 view 함수입니다. root.urls는 루트 프로젝트 – Mithril
Hmm 아래 urls.py입니다. '/ account/signup /'url에서'captcha '라고 부르시겠습니까? 그렇다면 captchahelper에 URL을 추가해야합니다. – Jason
또한'captchahelper'가'settings.py'에 설치된 응용 프로그램으로 정의되어 있습니까? – Jason