2016-09-09 8 views
-1

は、とにかくサブプロセスまたはos.systemを使わずに別のpythonプログラムからdjangoプロジェクトを実行するものです。django projactを別のpythonプログラムから実行する

使用しようとしてイム:

os.system("python manage.py runserver") 

と:

subprocess.call("python", "manage.py", "runserver") 

が、私はアンドロイドとアンドロイドでkivyからそれを実行するには、

ジャンゴローカルサーバーに組み込みのpythonを持っていませんwebwiewのサーバーサイドとして使用しています。

私はrunpyモジュールを見つけましたが、djangoを実行することはできません。

どうすればいいですか?

編集1:

私はトマシュヤクブRupのが仕事とエラーの下に与えていないと言うが、そのようにそれを実行します。

Python 3.5.1 (default, Mar 3 2016, 09:29:07) 
[GCC 5.3.0] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import os 
>>> import django 
>>> os.environ['DJANGO_SETTINGS_MODULE'] = 'sample.settings' 
>>> if hasattr(django, 'setup'): 
...  django.setup() 
... 
>>> from django.core.management import call_command 
>>> call_command('runserver') 
/usr/bin/python: can't find '__main__' module in '' 
+0

なぜですか?あなたのAndroidアプリケーションであなたのウェブサイトからのデータが必要な場合は、api – Sayse

+0

を公開せず、私のウェブサイトを表示したくありません。私は地元のウェブサイトを見せたい! –

+0

それは意味をなさない。あなたがdjangoを使用してはならない問題を解決するためにdjangoを使用しようとしているように聞こえます。 – Sayse

答えて

0

まずあなたがdjangoを初期化する必要があります。

import os 

import django 

os.environ['DJANGO_SETTINGS_MODULE'] = 'testapp.settings' 
if hasattr(django, 'setup'): 
    django.setup() 

from django.core.management import call_command 

と実行コマンド:

call_command('runserver') 
+0

私は上記と同じことをしますが、最新の行でこのエラーを出します:/ usr/bin/python: '__main__'モジュールを見つけることができません ' –

+0

@KamRad質問を編集してくださいスクリプトと完全なトレースバック –

+0

を入力してください私はpythn 3.5を使用して、私は、このラインはあなたがシェルからこれを実行することはできません –

0

djangoの開発サーバーは、最初はうまくいきましたが、あなたのアプリケーションにuwsgiやgunicornを使いたいかもしれません。これらは効率的で、起動時にシェルを起動するのではなく、手動でコマンドを実行する必要はありません。詳細はこちらで確認できます。

http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html

+0

あなたはアンドロイドでuwsgiを実行する方法についていくつかのヒントを教えてください。ありがとう –

+0

あなたの携帯電話にWebサーバーが必要な理由を正確にはわからないので、herokuやpythonanywhereのようなクラウドプラットフォームを使ってアプリケーションをホストすることができます。とにかく、私はあなたの要件にすぐに利用可能なソリューション - http://pypi.qpython.org/index.php/qpython-django/がわからないので、それを見ることができます –

関連する問題