由于以下错误,无法加载管理界面



我有以下代码,但有两个问题。1.我无法添加加入,也无法显示在页面上。2.管理界面未加载。

我已经重新创建了数据库,彻底检查了代码,真的需要帮助。

视图.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包括以下内容。

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'),
)

行中的正则表达式

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

匹配admin/也应该使用不那么"贪婪"的东西。

最新更新