2016-10-13 11 views
0

これは初めての質問です。 VisualStudioで、AIをsmartshoppingするためのdjango/pythonアプリケーションを作成しています。これは私の最初のpython/djangoテクノロジーアプリケーションです。私はurls.pyに問題があり、djangoのバージョンにurlpatternsは含まれていないことを読んでいます。私は、アドバイスをオンラインに反映させるために私のURLパターンを変更し、私のコードのdjango.conf.urlsインポートURLセクションを変更しました。まだ動作していません。助けてください。私はここに来るためにオンラインのアドバイスに従ってきたVisualStudio django.conf.urls

from datetime import datetime 
from django.conf.urls import url 
from app.forms import BootstrapAuthenticationForm 



# Uncomment the next lines to enable the admin: 
from django.conf.urls import include 
from django.contrib import admin 
admin.autodiscover() 

urlpatterns = [ 
    # Examples: 
    url(r'^$', 'app.views.home', name='home'), 
    url(r'^contact$', 'app.views.contact', name='contact'), 
    url(r'^about', 'app.views.about', name='about'), 
    url(r'^login/$', 
     'django.contrib.auth.views.login', 
     { 
      'template_name': 'app/login.html', 
      'authentication_form': BootstrapAuthenticationForm, 
      'extra_context': 
      { 
       'title':'Log in', 
       'year':datetime.now().year, 
      } 
     }, 
     name='login'), 
    url(r'^logout$', 
     'django.contrib.auth.views.logout', 
     { 
      'next_page': '/', 
     }, 
     name='logout'), 

    # Uncomment the admin/doc line below to enable admin documentation: 
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 

    # Uncomment the next line to enable the admin: 
    # url(r'^admin/', include(admin.site.urls)), 
] 

私は追加するすべてのビューを変更するには容易ではない修正を望むには、 - これらは、Visual Studioによって自動生成されました。私はまだ(作業autogeneratonを維持し、ちょうど私がこのアプローチを試してみました応答と類似した質問(Django URLs error: view must be a callable or a list/tuple in the case of include())にスタックオーバーフローの回答に基づいてurl.py

from django.shortcuts import render 
from django.http import HttpRequest 
from django.template import RequestContext 
from datetime import datetime 

def home(request): 
    """Renders the home page.""" 
    assert isinstance(request, HttpRequest) 
    return render(
     request, 
     'app/index.html', 
     context_instance = RequestContext(request, 
     { 
      'title':'Home Page', 
      'year':datetime.now().year, 
     }) 
    ) 

def contact(request): 
    """Renders the contact page.""" 
    assert isinstance(request, HttpRequest) 
    return render(
     request, 
     'app/contact.html', 
     context_instance = RequestContext(request, 
     { 
      'title':'Contact', 
      'message':'Your contact page.', 
      'year':datetime.now().year, 
     }) 
    ) 

def about(request): 
    """Renders the about page.""" 
    assert isinstance(request, HttpRequest) 
    return render(
     request, 
     'app/about.html', 
     context_instance = RequestContext(request, 
     { 
      'title':'About', 
      'message':'Your application description page.', 
      'year':datetime.now().year, 
     }) 
    ) 

を参照するためにコードの行を追加したいです動作しません)。

from datetime import datetime 
from django.conf.urls import url 
from app.forms import BootstrapAuthenticationForm 
from django.contrib.auth import views as auth_views 
from SmartShopper import views as SmartShopper_views 



# Uncomment the next lines to enable the admin: 
# from django.conf.urls import include 
# from django.contrib import admin 
# admin.autodiscover() 

urlpatterns = [ 
    # Examples: 
    url(r'^$', SmartShopper_views.home, name='home'), 
    url(r'^contact$', SmartShopper_views.contact, name='contact'), 
    url(r'^about', SmartShopper_views.about, name='about'), 
    url(r'^login/$', 
     'django.contrib.auth.views.login', 
     { 
      'template_name': 'app/login.html', 
      'authentication_form': BootstrapAuthenticationForm, 
      'extra_context': 
      { 
       'title':'Log in', 
       'year':datetime.now().year, 
      } 
     }, 
     name='login'), 
    url(r'^logout$', 
     'django.contrib.auth.views.logout', 
     { 
      'next_page': '/', 
     }, 
     name='logout'), 

    # Uncomment the admin/doc line below to enable admin documentation: 
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 

    # Uncomment the next line to enable the admin: 
    # url(r'^admin/', include(admin.site.urls)), 

は[何を私の解決策が含まれています - 私はasp.net MVCの背景とDjangoから来ているだけで、私は実行をthisthing作るのを助ける、まだそれに慣れるのMVC型構造と少し異なっています!助けてください。ありがとう1

+0

スクリーンショットではなく、関連するコードを通過してください。また、 'views.py'ファイルの関連セクションも含めてください。 – brianpck

+0

うん!その方法をわかりやすくしてみましょう。 –

答えて

0

ビューを変更する必要はありません。問題はまだあなたのurls.pyにあります。たとえば、"app.views.home"を文字列として参照する代わりに、ビューをインポートしてviews.homeを直接参照する必要があります。

+0

文字列 'app.views.home'からコードを取り出し、それをviews.homeに変更するように指示していますか?コードを表示できますか?申し訳ありませんが、私は新しいソフトウェア開発者であり、あなたがばかばかしい場合は助けになります。 django.conf.urlsから日時インポート日時 から –

+0

はapp.formsからURL は、管理者を有効にするには、次の行BootstrapAuthenticationForm #コメントを解除をインポートするインポート:django.conf.urlsから 位ジャンゴから含ま #をインポートします。 contribのインポート管理 #のadmin.autodiscover() urlpatternsの= [ #例: URL(R '^ $'、views.home、名前= 'ホーム')、 –

+0

は動作しません。意見は定義されていないと述べている。 –

0

このユーチューブチュートリアルからDjangoフレームワークについての詳細を学んだ後、私は私のコードを修正することができました(https://www.youtube.com/watch?v=nAn1KpPlN2w&index=3&list=PL6gx4Cwl9DGBlmzzFcLgDhKTTfNLfX1IK#t=4.759461

私は何を学んだことは、それぞれ「アプリ」は、関連するビューのプログラムのセグメントであるということでした。私がやらなければならなかったのは、my_appやappから、またはあなたがDjangoであなたの新しい "app"と呼んでいるすべてのビューをインポートすることでした。 ()から()へのurlパターンのわずかな変更に加えて、上記のapp_viewsから引き出すためのURL呼び出しを変更しました。ここに機能コードがあります。私は "Server error(500)"を持っています。これは何か他には分かりますが、ちょうどdjangoフレームワークを初めて使っている開発者のためにもっと説明してください。 Visualstudioは良いツールです。 Pythonのためにそれを使用してください。ご質問がある場合は、初心者を喜んでサポートします。ここに私の機能コードがあります。

from datetime import datetime 
from django.conf.urls import url 
from app.forms import BootstrapAuthenticationForm 
from django.contrib.auth import views as auth_views 
from app import views as app_views 



# Uncomment the next lines to enable the admin: 
# from django.conf.urls import include 
# from django.contrib import admin 
# admin.autodiscover() 

urlpatterns = [ 
    # Examples: 
    url(r'^$', app_views.home, name='home'), 
    url(r'^contact$', app_views.contact, name='contact'), 
    url(r'^about', app_views.about, name='about'), 
    url(r'^login/$', 
     auth_views.login, 
     { 
      'template_name': 'app/login.html', 
      'authentication_form': BootstrapAuthenticationForm, 
      'extra_context': 
      { 
       'title':'Log in', 
       'year':datetime.now().year, 
      } 
     }, 
     name='login'), 
    url(r'^logout$', 
     auth_views.logout, 
     { 
      'next_page': '/', 
     }, 
     name='logout'), 

    # Uncomment the admin/doc line below to enable admin documentation: 
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 

    # Uncomment the next line to enable the admin: 
    # url(r'^admin/', include(admin.site.urls)), 
] 
関連する問題