2017-04-24 112 views
0

我收到以下錯誤在Django:NoReverseMatch at/revision/login_user/Reverse找不到參數'()'和關鍵字參數'{}'的'module-add'。 0模式(S)嘗試:[]

NoReverseMatch at /revision/login_user/ Reverse for 'module-add' 
with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: 

[]我真的不知道爲什麼我收到這個錯誤。

這些都是我的記錄意見:(回溯指的是在這裏)

def login_user(request): 
    if request.method == "POST": 
    username = request.POST['username'] 
    password = request.POST['password'] 
    user = authenticate(username=username, password=password) 
    if user is not None: 
     if user.is_active: 
      login(request, user) 
      modules = Module.objects.filter(user=request.user) 
      return render(request, 'revision/index.html', {'modules': modules}) 
     else: 
      return render(request, 'revision/login.html', {'error_message': 'Your account has been disabled'}) 
    else: 
     return render(request, 'revision/login.html', {'error_message': 'Invalid login'}) 
return render(request, 'revision/login.html') 

同樣的,寄存器:

def register(request): 
    form = UserForm(request.POST or None) 
    if form.is_valid(): 
    user = form.save(commit=False) 
    username = form.cleaned_data['username'] 
    password = form.cleaned_data['password'] 
    user.set_password(password) 
    user.save() 
    user = authenticate(username=username, password=password) 
    if user is not None: 
     if user.is_active: 
      login(request, user) 
      modules = Module.objects.filter(user=request.user) 
      return render(request, 'revision/index.html', {'modules': modules}) 

context = { 
    "form": form, 
} 
return render(request, 'revision/register.html', context) 

都是指回線渲染(要求,「修訂/ index.html',{'modules':modules}) 我該如何解決這個問題?

回答

0

這可能與你的urls.py有關。

您是否在您的[project_name] /urls.py中包含了您的修訂/ urls.py?

urlpatterns = [ 
    url(r'^', include('revisions.urls')), 
] 

另外,你有一個url模式在revesions/urls.py,它是指一種不存在的視圖方法?

如:

url(r'^module-add/$', views.module-add, name="module-add"), 
+0

還要檢查你的模板,並確保你使用的是有在urls.py定義URL的,如果你輸入你的修改/ urls.py到PROJECT_NAME /網址。 py與一個命名空間,那麼你應該在引用url時使用該命名空間 – kujosHeist

相關問題