2

次のように、アプリケーションを「アプリ」フォルダーに配置して、プロジェクトを構築しようとしています。

├── manage.py
├── mysite
│   ├── apps
│   │   ├── __init__.py
│   │   ├── myapp1
│   │   │   ├── __init__.py
│   │   │   ├── models.py
│   │   │   ├── urls.py
│   │   │   └── views.py
│   │   └── myapp2
│   │       ├── __init__.py
│   │       ├── models.py
│   │       ├── urls.py
│   │       └── views.py
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   ├── wsgi.py

そして mysite/urls.py で:

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^myapp1/', include('mysite.apps.myapp1.urls')),
    url(r'^mysite/apps/myapp2/', include('myapp2.urls')),
    url(r'^admin/', include(admin.site.urls)),
)

次の点に問題があります。

    url(r'^myapp1/', include('mysite.apps.myapp1.urls')),
    url(r'^mysite/apps/myapp2/', include('myapp2.urls')),

myapp1 または myapp2 を正しく接続できませんでした。Django から「ImportError... myapp1 という名前のモジュールがありません...」というメッセージが表示されます。

4

2 に答える 2

0

多分このように:

include('mysite.apps.myapp1.urls')),

アップデート

あなたが試すことができます:

ディレクトリにファイル__init__.pyを追加しますmysite

于 2013-07-16T09:13:56.103 に答える
0

相対パスにレベルがありません:

url(r'^mysite/apps/myapp2/', include('apps.myapp2.urls')),

myapp1それは私にはうまくいくはずです。


myapp1vsを含めようとしている方法を比較するmyapp2と、構造を少し誤解しているように見えます。URL はコード レイアウトとは関係ありません。これは完全に有効です:

url(r'^zimzam/allthethings/', include('apps.myapp2.urls')),
于 2013-07-16T21:55:41.397 に答える