2017-12-18 5 views
0

私はDjangoで働いていて、かなり錆びています。私は新しいプロジェクトとアプリケーションを作成しようとしています。以前の(動作している)アプリケーションからいくつかのコードをコピーして貼り付けたので、何も入力しなくてもかまいませんでしたが、サーバを起動してください: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ページです。繰り返しますが、私は何かシンプルなものが欠けていることを知っていますが、Djangoのプログラミングに触れてから本当に長い時間を過ごしました。

+0

あなたはどのバージョンのdjangoを使用していますか?そして、あなたはあなたの 'settings.py'部分をURL、インストールされているアプリやミドルウェアに貼り付けることができますか? – gonczor

答えて

0

設定ファイルに問題があります:STATIC_URLまたはMEDIA_URLのいずれかに末尾のカンマがあり、それがタプルに変わります。

+0

あなたは正しいです。それを50回見て、欠けていなければなりません。 STATIC_URLの末尾にカンマがあります。 –