2017-12-18 19 views
0

장고에서 일한 이래 꽤 녹슨 상태입니다. 나는 새로운 프로젝트와 앱을 만들려고 노력 중이며 이전 (작동중인) 앱에서 일부 코드를 복사하여 붙여 넣었으므로 모든 것을 처음부터 입력 할 필요가 없었지만 다음과 같은 오류가 발생했습니다. 서버를 실행하십시오 :Django URL endswith

File "/home/jboucher/anaconda3/envs/test_pilot/lib/python3.6/site-packages/django/core/checks/urls.py", line 104, in check_url_settings if value and not value.endswith('/'):

AttributeError: 'tuple' object has no attribute 'endswith'

나는 간단하게 뭔가를 놓치고 있지만 그것을 찾을 수 없습니다.

프로젝트의 URL :

from django.conf.urls import url, include 
from django.contrib import admin 
from django.conf import settings 
from django.conf.urls.static import static 

urlpatterns = [ 
    url(r'', include('test_pilot.urls', namespace='test_pilot')), 
    url(r'^admin/', admin.site.urls), 
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

앱 URL :

from django.conf.urls import url 

from . import views 

app_name = 'test_pilot' 

urlpatterns = [ 
    url(r'^$', views.IndexView.as_view(), name='index'), 
# url(r'^accounts/login/$', views.LoginView.as_view(), name='login'), 
# url(r'^logout/$', views.LogoutView.as_view(), {'next_page': '/accounts/login'}, name='logout'), 
] 

응용 프로그램 views.py 여기 내 코드는 지금 주석되지 않은 코드의 많은입니다

from django.contrib.auth import REDIRECT_FIELD_NAME, logout as auth_logout 
from django.contrib.auth.views import LoginView as AuthLoginView 
from django.utils.http import is_safe_url 
from django.views.generic import TemplateView, RedirectView 
from django.utils.decorators import method_decorator 
from django.contrib.auth.decorators import login_required 


#@method_decorator(login_required, name='test_pilot') 
class IndexView(TemplateView): 
    template_name = 'pages/index.html' 

    def test_pilot(self, *args, **kwargs): 
     return super(IndexView, self).dispatch(*args, **kwargs) 


# class LoginView(AuthLoginView): 
#  success_url = '/' 
#  template_name = 'pages/login.html' 
#  redirect_field_name = REDIRECT_FIELD_NAME 
# 
#  def get_success_url(self): 
#   redirect_to = self.request.GET.get(self.redirect_field_name) 
#   if not is_safe_url(url=redirect_to, host=self.request.get_host()): 
#    redirect_to = self.success_url 
#   return redirect_to 
# 
# 
# class LogoutView(RedirectView): 
#  """ 
#  Provides users the ability to logout 
#  """ 
#  url = '/accounts/login/' 
# 
#  def get(self, request, *args, **kwargs): 
#   auth_logout(request) 
#   return super(LogoutView, self).get(request, *args, **kwargs) 

내 템플릿은 지금 당장은 간단한 hello world html 페이지입니다. 다시 말하지만, 나는 간단한 것을 놓친다는 것을 알고있다. 그러나 장고 프로그래밍을 만난 이후로 정말 오랜 시간이 걸렸다.

+0

어떤 장고의 django 버전을 사용하고 있습니까? 그리고 url, 설치된 앱 및 미들웨어에 관한'settings.py' 파트를 붙여 넣을 수 있습니까? – gonczor

답변

0

설정 파일에 문제가 있습니다. STATIC_URL 또는 MEDIA_URL 중 하나에 쉼표가있어서 튜플로 바꿉니다.

+0

정확합니다. 그걸 50 번 보았고 그것을 놓치지 않고 있었어. STATIC_URL 뒤에 쉼표가 있습니다. –