Estoy empezando con Django y estoy probando con un código para gestionar encuestas descargado de github: ntusurvey
Tengo problemas con algunas urls que no son servidas.
En concreto:
Código:
  
Esta vista es utilizada tanto para editar una encuesta ya creada como para crear una nueva encuesta.url(r'^edit_survey/(\w+)/$', 'survey.views.edit_survey'),
def edit_survey(request, view_key=""):
Si le paso el ID de la encuesta la url responde, por ejemplo: /edit_survey/02
pero si lo que quiero es crear una nueva encuesta: /edit_survey/ me devuelve un error 404.
En un inicio la función comprueba si le pasamos la variable POST:
Código:
  
 si es así pinta los datos de la encuesta solicitada para poder ser editados con if request.POST:
Código:
  
Sino comprueba si la se le pasa alguna variable por url return HttpResponse(simplejson.dumps(dict), mimetype='application/javascript')
Código:
  
Sino se le pasa ninguna variable inicializa el ID para crear una nueva encuensta:try:
              if view_key != "":
                surveyID = Survey.objects.get(key=view_key).id
           except BaseException as e:
                return error_jump(request)
Código:
  
Crea el diccionario necesario para pasarle a la plantilla       if surveyID != 0:
        survey = Survey.objects.get(id=surveyID)
        is_collaborator = survey.is_collaborator(request.user)
        collaborators = []
        for collaborator in survey.collaboration_set.all():
            collaborators.append(str(collaborator.user.id))
        collaborators = ",".join(collaborators)
        title = survey.title
        description = survey.description
        deadline = survey.deadline
Código:
  
He omitido gran parte del código.dict = {'surveyID': surveyID, 'survey': survey, "title": title, "description": description, "deadline": deadline,
            'is_collaborator': is_collaborator, 'collaborators': collaborators}
    template = "edit_survey.html"
    return render_to_response(template, dict, RequestContext(request))
Por una parte me gustaría saber si he entendido el concepto y por otra saber por que la dirección localhost/edit_survey/ no pinta la pantalla para crear una nueva encuesta.
El código de la vista al completo está en el repositorio del creador por si he omitido información importante https://github.com/sfdye/ntusurvey/blob/master/survey/views.py
Un saludo y gracias por la ayuda.
 
 
 Django no sirve la vista. Error 404
 Django no sirve la vista. Error 404 


