2014-11-01 5 views
0

다음 코드가 있는데 두 가지 문제가 있습니다. 1. 조인을 추가하지 못하고 페이지에 표시되지 않습니다. 2. 관리 인터페이스가로드되지 않습니다.아래 오류로 인해 관리자 인터페이스를로드 할 수 없습니다.

나는 DB를 철저히 확인하고 실제로 도움이 필요한 DB를 다시 만들었습니다.

Views.py. 나는 예외를 주석 한 후 무엇입니까

from django.conf import settings 
from django.shortcuts import render, HttpResponseRedirect, Http404 
from.models import Join 
from .forms import EmailForm, JoinForm 

def get_ip(request): 
    try: 
     x_forwarded = request.META.get("HTTP_X_FORWARDED_FOR") 
     if x_forwarded: 
      ip = x_forwarded.split(",")[0] 
     else: 
      ip = request.META.get("REMOTE_ADDR") 
    except: 
     ip = "" 
    return ip 

import uuid 
def get_ref_id(): 
    ref_id = str(uuid.uuid4())[:11].replace('-', '').lower() 

    try: 
     id_exists = Join.objects.get(ref_id=ref_id) 
     get_ref_id() 
    except: 
     return ref_id 
def home(request): 
    try: 
     join_id = request.session['join_id_ref'] 
     obj = Join.objects.get(id=join_id) 

    except: 
     obj = None 

    form = JoinForm(request.POST or None) 
    if form.is_valid(): 
     new_join = form.save(commit=False) 
     email = form.cleaned_data['email'] 
     new_join_old, created = Join.objects.get_or_create(email=email) 
     if created: 
      new_join_old.ref_id = get_ref_id() 
      if not obj == None: 
       new_join_old.friend = obj 
      new_join_old.ip_address = get_ip(request) 
      new_join_old.save() 
     return HttpResponseRedirect("/%s" %(new_join_old.ref_id)) 

    context = {"form": form} 
    template = 'home.html' 
    return render(request, template, context) 

def share(request, ref_id): 
    #try: 
     join_obj = Join.objects.get(ref_id=ref_id) 
     friends_referred = Join.objects.filter(friend=join_obj) 
     count = join_obj.referral.all().count() 
     ref_url = settings.SHARE_URL + str(join_obj.ref_id) 
     context = {"ref_id": join_obj.ref_id, "count": count, "ref_url": ref_url} 
     template = "share.html" 
     return render(request, template, context) 
    #except: 
     #raise Http404 

오류 메시지는 다음과 같습니다

DoesNotExist at /admin 
Join matching query does not exist. Lookup parameters were {'ref_id': u'admin'} 

Urls.py은 다음을 포함한다. 라인

url(r'^(?P<ref_id>.*)$', 'joins.views.share', name='share'), 

경기 admin/에서

from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
    url(r'^admin/', include(admin.site.urls)), 
    url(r'^$', 'joins.views.home', name='home'), 
    url(r'^(?P<ref_id>.*)$', 'joins.views.share', name='share'), 
) 
+0

첫째,''def share''의 의도를 바르게 수정해야합니다. – doniyor

+0

둘째,''join_obj = Join.objects.get (ref_id = ref_id)''이것은 오류 메시지가 아닙니다 – doniyor

+0

urls.py를 보여주십시오. 개체가 실제로 요청한 db에 있는지 확인하십시오. – doniyor

답변

1

귀하의 정규 표현식은뿐만 아니라 당신은 "욕심"적은 것을 사용한다.

+0

감사 ...이 해결 된 문제. –

관련 문제