2012-10-10 5 views
0

저는 Ubuntu 12.04에서 Django 1.4와 Python 2.7을 사용하고 있습니다.내보기에서 404 오류가 계속 발생하는 이유는 무엇입니까?

전에 많은 의견을 작성했지만 필자는이 문제에 대해 404 오류가 발생하는 이유에 대해 다소 당혹 스럽습니다.

urls.py :

url(r'^addNewClient/', 'gateway_interface.views.add_new_client'), 

views.py

def add_new_client(request): 
    """ 
    .. function:: add_new_client() 

     Provide a form for entering new client information 

     :param request: Django Request object 
    """ 
    ## Create a logging object 
    path = os.path.join(os.path.dirname(__file__), 'logs/') 
    filename = '{0}addNewClient.log'.format(path) 
    logfile = open(filename, 'a') 
    now = datetime.datetime.now() 
    logfile.write('\n --------------------- {0}\n'.format(now)) 

    try: 
     form = addClientInfo() 
    except: 
     output = "Handle Error: Cannot create a valid form" 
     logfile.write('{0}\n'.format(output)) 
     logfile.write('{0}\n\n'.format(traceback.format_exc())) 
     logfile.close() 
     return HttpResponse(output) 

    try: 
     data = {} 
     data.update(csrf(request)) 
     data.update({ 'form' : form }) 
    except: 
     output = "Handle Error: Cannot generate CSRF token" 
     logfile.write('{0}\n'.format(output)) 
     logfile.write('{0}\n\n'.format(traceback.format_exc())) 
     logfile.close() 
     return HttpResponse(output) 

    return render_to_response("addNewClientInfo.html", data) 

forms.py

class addClientInfo(forms.Form): 
    """ 
    .. class:: addClientInfo 

     Create a form to enter new client info 
    """ 
    my_gateway_choices = tuple(gateway_proper_names.items()) 

    # Create the post fields 
    tkz_client_name = forms.CharField(max_length = 50, required = True) 
    tkz_gateway = forms.ChoiceField(widget = forms.Select(), choices = my_gateway_choices, required = True) 
    tkz_gateway_api_id = forms.CharField(max_length = 50, required = True) 
    tkz_gateway_trans_key = forms.CharField(max_length = 50, required = True) 
    tkz_ys_api_id = forms.CharField(max_length = 50, required = True) 
    tkz_ys_trans_key = forms.CharField(max_length = 50, required = True) 

어떤 생각?

EDIT1 :

내가 오류 로그에서 정보를 수신하지 못하는 언급해야한다. .html 파일은 다른 모든 템플릿과 함께 같은 위치에 있습니다.

+1

액세스하려는 URL과 404 페이지에서 얻는 내용은 무엇입니까? 설정에서'DEBUG = True'입니까? – Rohan

+0

Jeez ... 이것이 당신이 3am에서 일을 시작하지 않는 이유입니다. 생성하려고하는 양식을 가져 오는 것을 잊었습니다. 새집 실수! – Rico

답변

-1

DEBUG=True에 예외를 넣었을 때 내가 사용하려고 시도한 양식을 가져 오지 않았 음을 확인할 수있었습니다. addClientInfo().

나에게 매우 신입어입니다. 어려움은 내가받은 오류가 이것을 문제로 지적하지 않았다는 것입니다. 다른 사람들은 오도 된 오류가 즉시 명백하지 않은 근본적인 문제를 가지고 있음을 알 수 있기를 바랍니다.

모두 다!

1

일반적으로 URL 패턴은 매우 정확해야합니다. 뷰에 대해 다음 URL 패턴을 사용해보십시오 :

url(r'^addNewClient/$', 'gateway_interface.views.add_new_client'), 

그 패턴은 addnewClinet/$를 사용하여 일치되도록합니다. 그렇지 않으면 url 패턴은 전체 문자열이 아닌 문자열의 시작 부분에만 일치하므로 addNewClient/foo과 같은 내용도 일치합니다.

+0

알아두면 좋을 법한. 고맙습니다! – Rico

관련 문제