2014-10-16 2 views
1

누군가 문장 부호와 함께 제목을 제출할 때 오류가 발생해야합니다. Im 초심자 이렇게 확실히하는 방법 확실하지 않은 Im.
형태 :양식에 구두점이있는 경우 발생 오류 django

class NeededForm(forms.ModelForm): 
    title = forms.CharField(max_length=120) 
    likes = forms.IntegerField(widget=forms.HiddenInput(), initial=0) 
    body = forms.CharField(min_length=50,widget = forms.Textarea) 
    captcha = CaptchaField() 

    def clean_title(self): 
     data = self.cleaned_data['title'] 
     return data 
    class Meta: 
     model = Needed 
     fields = ('title', 'body', 'likes') 

뷰 : 제목으로 I like chicken! 그때는 사용자에게 오류를 표시해야합니다

def detail(request, needed_title_url): 
    context = RequestContext(request) 

    needed_name = needed_title_url.replace('_', ' ') 
    context_dict = {'needed_name': needed_name} 
    try: 
     needed = Needed.objects.get(title=needed_name) 
     context_dict['needed'] = needed 
     print "True!" 
    except: 
     pass 

    return render_to_response('needed.html', context_dict, context) 

등 사용자 입력 뭔가 경우

.

+0

을 : –

+0

에 오신 것을 환영합니다. UnicodeError와 같은 것입니까? 문제의 원인은 무엇입니까? 문제를 재현하는 데 필요한 최소한의 코드 샘플을 제공 할 수 있습니까? –

답변

1

내가 질문을받을 완전히 잘 모르겠지만, 당신이 https://docs.djangoproject.com/en/1.6/ref/models/fields/#slugfield

SlugField에 포함될 수있다 찾고있는 대답처럼 보인다는 문자, 숫자를 포함 할 수있는 CharField입니다 , 밑줄 및 하이픈

class NeededForm(forms.ModelForm): 
    title = forms.SlugField(max_length=120) 
    likes = forms.IntegerField(widget=forms.HiddenInput(), initial=0) 
    body = forms.CharField(min_length=50,widget = forms.Textarea) 
    captcha = CaptchaField() 

나는 당신이 더 복잡한 규칙 확인을 찾고있다가, 발리 페이지 01로 봐 (그래서 MAX_LENGTH을 ... 이해)및 형식으로 사용하는 방법 https://docs.djangoproject.com/en/1.6/ref/forms/validation/#using-validators 제공된 예제는 SlugField 구현을 설명합니다.

희망이 있습니다. 당신이 인상 원하는 오류

import string 

def clean_title(self): 
    title = self.cleaned_data['title'] 
    if all(letter not in string.punctuation 
      for word in title.split() 
      for letter in word 
      if letter not in ['-',"'"]): 
     return title 
    raise forms.ValidationError('Title cannot have punctuation') 
+0

@BurhanKhalid : https://docs.djangoproject.com/ko/1.6/topics/forms/modelforms/#field-types 페이지는 양식에 SlugField가 있음을 보여줍니다. 내가 잘못 알고 있니? – Matt

+0

정말 고마워요! 이것은 내가 필요한 것입니다. –

0

확실히 제목의 각 단어는 문자, 숫자, 대시 및 아포스트로피를 포함하게이 솔루션을 사용해보십시오? 폼에 대한 유효성 검사 오류? 귀하의 모델 형식과보기를 보여주십시오.
관련 문제