【问题标题】:Syntax error, DEBUG showing error in urls.py?语法错误,调试在 urls.py 中显示错误?
【发布时间】:2016-04-01 09:33:22
【问题描述】:

所以,我很困惑,我的应用程序中的一切都运行良好,我做了一些更改,然后在我的应用程序中恢复。但是,这导致我的登录页面出现错误:

SyntaxError at /login/
invalid syntax (views.py, line 41)
Request Method: GET
Request URL:    http://X.X.X.X:8000/login/
Django Version: 1.8
Exception Type: SyntaxError
Exception Value:    
invalid syntax (views.py, line 41)
Exception Location: /path/to-app/project-name/app (same name as project)/urls.py in <module>, line 22

这是我的 url.py 文件:

from django.conf.urls import *
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static
from import views
import overtime.views
import schedule.views

urlpatterns = [ 
url(r'^admin/', include(admin.site.urls)),
url(r'^login/', views.login_user),
url(r'^index/', views.index),
url(r'^$', views.index, name='index'),
url(r'^login_success/$', views.login_success, name='login_success'), 
url(r'^overtime/',include('overtime.urls')),
url(r'^schedule/',include('schedule.urls')),       
url(r'^logout/$', 'django.contrib.auth.views.logout', {'next_page':     '/login'}),
]

我尝试了许多视图导入的变体,都导致相同的语法错误:

从 .导入视图 从 MonolithEmployee 导入 * 导入视图 导入 MonolithEmployee.views

每一项都会导致语法错误。

这可能是其他地方的问题吗?

这是它似乎引用的视图:

# user login
@login_required
def login_user(request):
    if request.user.is_authenticated():
        pass
    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)
                return redirect("login_success")
        else:
            form = LoginForm()
            context = {'form': form}
            return render_to_response('login.html', context, context_instance=RequestContext(request))
    else:
        ''' user is not submitting the form, show the login form '''
        form = LoginForm()
        context = {'form': form}
        return render_to_response('login.html', context,     context_instance=RequestContext(request))

def login_success(request):
    """
    Redirects users based on the group they are in 
    """
    if request.user.groups.filter(name="BAML").exists():
        return redirect("")
    else:
        return redirect("index")

def logout_user(request):
    logout(request)
    return HttpResponseRedirect('/login/')

def index(request):
    context = {}
    return render_to_response('index.html', context, RequestContext(request))

def index_BAML(request):
    context = {}
    return render_to_response('.html', context, RequestContext(request

【问题讨论】:

  • views.py 中的 40-42 行是什么?
  • @AaronLayfield 您的 41 行不完整....我不确定您是要粘贴到这里还是那是造成错误的那个..
  • 根据 Serjiks 的回复,这实际上是代码中的最后一行,这对我来说是一个愚蠢的错误,但该错误并没有提供应有的信息。然而,我犯了一个愚蠢的错误。

标签: python django url views django-urls


【解决方案1】:

这是你的代码:

def index_BAML(request):
    context = {}
    return render_to_response('index_BAML.html', context, RequestContext(request

你刚刚离开了最后一个括号:

def index_BAML(request):
    context = {}
    return render_to_response('index_BAML.html', context, RequestContext(request))

【讨论】:

    猜你喜欢
    • 2011-07-03
    • 2014-10-20
    • 1970-01-01
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    相关资源
    最近更新 更多