0

プロジェクトを実行しようとすると、Name エラーが発生します。

urls.py

import os
from django.conf.urls.defaults import patterns, include, url
#from bookmarks.views import *
from django.views.generic.simple import direct_to_template
from preview.views import *
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

urlpatterns = patterns('',

    (r'^catalog/$', home),
)

ビュー.py

# Create your views here.
from django.shortcuts import render_to_response

def home(request):
    return render_to_response("index.html")

index.html

{% extends base.html %}
{% block content %}
    <h2>Welcome!</h2>
{% endblock %}

設定.py

TEMPLATE_DIRS = (
    "C:/python27/Djangoprojects/ecomstore/preview",
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
)

エラー

NameError at /catalog/
name 'home' is not defined
Request Method: GET
Request URL:    http://127.0.0.1:8000/catalog/
Django Version: 1.3.1
Exception Type: NameError
Exception Value:    
name 'home' is not defined
Exception Location: C:\Python27\Djangoprojects\ecomstore\..\ecomstore\urls.py in <module>, line 12
Python Executable:  C:\Python27\python.exe
Python Version: 2.7.2
4

2 に答える 2

1

あなたのファイルhomeにありますか?preview/views.pyどういうわけか、あなたfrom preview.views import *はそれをインポートしませんでした。

その場合、あなたはやってみることができますか

urlpatterns = patterns('preview.views',

    (r'^catalog/$', 'home'),
)

代わりは?

そして、previewアプリがファイルのINSTALLED_APPSタプルに含まれていることを再確認してください。settings.py

于 2012-11-28T00:44:34.617 に答える
0

これは非常に単純なエラーです。「ホーム」が定義されていません。

インポートしていません。

Pythonターミナルを開いて入力するとどうなるか考えてみてください

> foobar
> # NameError

urls.py にインポートするか、文字列表記を使用してください'myapp.views.myfunc'

于 2012-11-28T00:43:38.297 に答える