6

私は自分のウェブサイトに eコマースポータルを含めたいと思っていまし た

url(r'', include(application.urls)),

私が追加しました

url(r'^buy/', include(application.urls)),

しかし問題は、URLにアクセスしても何も表示されず、エラーも発生しないことです。

何が問題なのですか?

一部の URL が衝突している可能性や、些細なことである可能性がありますが、どこからデバッグを開始すればよいかわかりません。

ファイルurls.py

from django.conf.urls import patterns, include, url
from django.contrib import admin
from view import AboutusView, TwentySevenView
import apps.users.views
from django.conf import settings

    #oscar urls
    from oscar.app import application

    admin.site.site_header = ''
    urlpatterns = patterns('',
                           # Examples:
                           # url(r'^$', 'torquehp.views.home', name='home'),
                           # url(r'^users/', include('users.urls')),
                           url(r'^i18n/', include('django.conf.urls.i18n')),
                           url(r'^admin/', include(admin.site.urls)),
                           url(r'^about-us/$', AboutusView.as_view(), name="about-us"),
                           url(r'^24x7/$', TwentySevenView.as_view(), name="24x7"),
                           url(r'^$', apps.users.views.user_home, name="home"),
                           url(r'^markdown/', include('django_markdown.urls')),
                           url(r'^users/', include('apps.users.urls')),
                           url(r'^doorstep/', include('apps.doorstep.urls')),
                           url(r'^cars/', include('apps.cars.urls')),
                           url('', include('social.apps.django_app.urls', namespace='social')),
                           # urls for zinnia
                           url(r'^blog/', include('zinnia.urls', namespace='zinnia')),
                           url(r'^comments/', include('django_comments.urls')),
                           url(r'^media/(?P<path>.*)$', 'django.views.static.serve',
                               {'document_root': settings.MEDIA_ROOT, }),
                           # oscar URLs
                           url(r'^buy/', include(application.urls)),
    )

ファイルsettings.py

import os
import sys
from oscar import get_core_apps
from oscar import OSCAR_MAIN_TEMPLATE_DIR
from oscar.defaults import *

BASE_DIR = os.path.dirname(os.path.dirname(__file__))
location = lambda x: os.path.join(
    os.path.dirname(os.path.realpath(__file__)), x)

# sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))  # to store apps in apps/ directory


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = ''

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

TEMPLATE_DEBUG = True

ALLOWED_HOSTS = []


# Application definition

INSTALLED_APPS = [
    'django.contrib.auth',
    'django.contrib.admin',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.flatpages',
    'apps.users',
    'apps.doorstep',
    'apps.cars',
    'django_markdown',
    'social.apps.django_app.default',
    'django.contrib.sites',
    'django_comments', 
    'mptt',             
    'tagging',          
    'zinnia',           
    'compressor',
    ] + get_core_apps()
# specifying the comments app
# COMMENTS_APP = 'zinnia_threaded_comments'

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'oscar.apps.basket.middleware.BasketMiddleware',
    'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
)

# Authentication backend used by python-social-auth
AUTHENTICATION_BACKENDS = (
    'social.backends.facebook.FacebookOAuth2',
    'social.backends.google.GoogleOAuth2',
    'django.contrib.auth.backends.ModelBackend',
    'oscar.apps.customer.auth_backends.EmailBackend',
)

TEMPLATE_CONTEXT_PROCESSORS = (
    "social.apps.django_app.context_processors.backends",
    "social.apps.django_app.context_processors.login_redirect",
    "django.contrib.auth.context_processors.auth",
    "django.contrib.messages.context_processors.messages",
    "django.core.context_processors.i18n",
    "django.core.context_processors.request",
    "zinnia.context_processors.version",
    "django.core.context_processors.debug",
    "django.core.context_processors.media",
    "django.core.context_processors.static",
    "django.core.context_processors.tz",
    'oscar.apps.search.context_processors.search_form',
    'oscar.apps.promotions.context_processors.promotions',
    'oscar.apps.checkout.context_processors.checkout',
    'oscar.apps.customer.notifications.context_processors.notifications',
    'oscar.core.context_processors.metadata'
)

# TEMPLATE_LOADERS = (
#     'app_namespace.Loader',
# )

ROOT_URLCONF = 'torquehp.urls'

WSGI_APPLICATION = 'torquehp.wsgi.application'


# Database
# https://docs.djangoproject.com/en/1.7/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': "",
        'USER': '',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '3306'
    }
}

# Internationalization

LANGUAGE_CODE = 'en-us'

TIME_ZONE = 'UTC'

USE_I18N = True

USE_L10N = True

USE_TZ = True

LOGIN_URL = '/users/login/'

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.7/howto/static-files/

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, '/static/')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
MEDIA_URL = "/media/"
TEMPLATE_DIRS = (
    os.path.join(BASE_DIR, 'templates').replace('\\', '/'),
    location('templates'),
    OSCAR_MAIN_TEMPLATE_DIR,
)

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'staticfiles'),


)
REGISTRATION_INVALID = 50
MESSAGE_TAGS = {
    REGISTRATION_INVALID: 'InvalidDetails',
}
# temporary , should not be in settings file
SOCIAL_AUTH_FACEBOOK_KEY = ""
SOCIAL_AUTH_FACEBOOK_SECRET = ""
SOCIAL_AUTH_FACEBOOK_SCOPE = ['email']

SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = ""
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = ""

LOGIN_REDIRECT_URL = '/blog/'

# ------------------------------------ #
# Settings for sending email #

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
SERVER_EMAIL = EMAIL_HOST_USER
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
# ------------------------------------ #


# site id for django sites framework
SITE_ID = 1

# configuration settings for  django-zinnia
ZINNIA_PING_EXTERNAL_URLS = False
ZINNIA_SAVE_PING_DIRECTORIES = False
ZINNIA_MARKUP_LANGUAGE = 'markdown'
ZINNIA_UPLOAD_TO = 'uploads/zinnia/'
# TimeZone Settings
USE_TZ = True

# ------------------------ #
# django s=oscar search settings
HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'haystack.backends.simple_backend.SimpleEngine',
    },
}

スクリーンショット:

http://localhost:8000/buy/ ここに画像の説明を入力

http://localhost:8000/buy/catalog/

ここに画像の説明を入力

4

5 に答える 5

5

localhost:8000/buy/catalogue/2 番目のスクリーンショットでは、実際に結果が得られていることがわかります。独自のテンプレートを定義していないか、何らかの形でTEMPLATE_DIRSまたはTEMPLATE_CONTEXT_PROCESSORS設定を修正する必要があるように見えます。

私は oscar を使用していませんが、画面に何かが表示されるという事実は、テンプレートの読み込みの問題のように思えます。

template_context_processors の設定に関するドキュメントを参照してください。

設定を投稿できますか?

アップデート:

設定を確認すると、template_context_processors が正しく表示されます。次に oscar のテンプレートを調べたところ、oscar ディレクトリを限定せずに拡張されているようです。たとえば、layout.html (/oscar/templates/oscar/layout.html) はこれを行います。

{% extends 'base.html' %}

ここで、独自のプロジェクト ディレクトリ (project_dir/templates/base.html など) に「base.html」ファイルもある場合は、代わりにそれを使用する可能性があります。そのファイルの名前を一時的に変更して (存在する場合)、何が起こるかを確認できますか?

于 2015-05-06T23:30:28.327 に答える
1

urls.py

url(r'^buy/', include("app.urls")),

次に、アプリディレクトリの下に、というファイルを作成しますurls.py

app/urls.py

# this is your “http://localhost:8000/buy/”
url(r'^$', ViewName.as_view(), name="thename"),
于 2015-05-02T22:09:25.440 に答える
0

app/urls.py に次の行を追加します。

url(r'^$',views.index,name='index'),

これにより、app/views.py の index 関数にリダイレクトされます。 app/views.py で次のようにします。

def index(request):
  #Your logic here
  return render(request,'urpoll/index.html'{'category':categorys,'ques':ques,'url':url})

これにより、カテゴリ、クエリ、url を含む index.html がレンダリングされます。index.HTML では、次のようになります。

{{ if category }}
{{ category }}
{{ endif }}

これが役立つことを願っています。

于 2015-05-06T18:56:54.723 に答える
0

問題は、django-oscar が などのサブパスの下に含まれることを意図していないこと/buy/です。彼らのドキュメントでは、彼らの例はそれを次のようにインストールすることを示しています:

url(r'', include(application.urls)),

の戻り値を提供するのソースを見ると、一致する urlpattern が提供されていないことがわかります。これは、表示しようとしている URL で一致させる必要があるものです。get_urls()application.urlsr'^$'

つまり、ドキュメントの推奨事項に正確に従う必要があります。そうしないと、予期しない結果が得られます。

于 2015-05-12T15:07:13.773 に答える