1.プロジェクトを作成します。
プロジェクトを作成したいディレクトリにcd。次のコマンドを実行します。
django-admin startproject HelloWorld
HelloWorldプロジェクトの作成
次のように表示プロジェクトのHelloWorld、ディレクトリ構造は次のとおりです。
コンテナプロジェクト:のHelloWorld
manage.py:Djangoのとインタラクティブのためのコマンドラインツール
のHelloWorld / 初期化のpythonを伝え空のファイル、ディレクトリは、Pythonパッケージです:の.py
のHelloWorld / setting.py:プロジェクトの設定ファイル
のHelloWorld / urls.py:URLプロジェクトの宣言
のHelloWorld / wsgi.pyを:サーバーのポータルサイト
2.アプリケーションを作成します。
プロジェクトHelloWorldの下では、アプリケーションを作成することを学びます
django-admin startapp learn
若しくは
python manage.py startappのを学びます
3開発サーバープロジェクトで実行されている(開発のみ)
python manage.py runserver
地元のブラウザを入力しますhttp://127.0.0.1:8000,查看HelloWorld 工程的运行页面。
python manage.py runserver 0.0.0.0:8000
0.0.0.0は、コンピュータのすべてのIPアドレスを監視することを意味し、8000は自作できるポートです。
4 uwsgiプロジェクトを実行
uwsgi
-
-
http :
8001
-
-
chdir
/
path
/
to
/
project
-
-
home
=
/
path
/
to
/
env
-
-
module project.wsgi
ない場合は、パス指定--home virtualenvのは、削除することができます。project.wsgiは、プロジェクト/ wsgi.pyファイルを参照します
5スーパーバイザーを使用して
1は、例えば、我々は/etc/supervisord.confパスを入れて、スーパーバイザデフォルトの設定ファイルを生成し、rootユーザーが実行します
echo_supervisord_conf >
/
etc
/
supervisord.conf
2、supervisor.confは底部に添加しました
[program:zqxt]
command=/path/to/uwsgi --http :8003 --chdir /path/to/zqxt --module zqxt.wsgi
directory=/path/to/zqxt
startsecs=0
stopwaitsecs=0
autostart=true
autorestart=true
(
sudo
) supervisord -c
/etc/supervisord
.conf
(
sudo
) supervisorctl -c
/etc/supervisord
.conf [start|stop|restart] [program-name|all]
[uwsgi]
socket =
/home/tu/zqxt/zqxt
.sock
chdir =
/home/tu/zqxt
wsgi-
file
= zqxt
/wsgi
.py
touch
-reload =
/home/tu/zqxt/reload
processes = 2
threads = 4
chmod
-socket = 664
chown
-socket = tu:www-data
vacuum =
true
(
sudo
) supervisorctl -c
/etc/supervisord
.conf restart zqxt
よくある質問:
1、ブラウザアクセスエラー
無効なHTTP_HOSTヘッダ: '192.168.1.111:8000'。あなたはALLOWED_HOSTSに「192.168.1.111」を追加する必要があります
ソリューション:
ALLOWED_HOSTSのプロジェクトsetting.pyの変更= [ '*']
2、どのようにプロジェクトにアプリケーションを追加します
このようDjangoのアプリケーションがある告げている私たちの新しいアプリケーション(学ぶ)INSTALLED_APPSでのプロジェクトのsettings.pyに追加し、
INSTALLED_APPS
=
(
'django.contrib.admin'
,
'django.contrib.auth'
,
'django.contrib.contenttypes'
,
'django.contrib.sessions'
,
'django.contrib.messages'
,
'django.contrib.staticfiles'
,
'learn'
,
)
データベース= {
'デフォルト': {
'ENGINE': 'django.db.backends.sqlite3'
'NAME':os.path.join(BASE_DIR、 'db.sqlite3')
}
}
MySQLデータベースの設定
データベースは= {
'デフォルト':{
'ENGINE': 'django.db.backends.mysql'、
'NAME': 'hellodatabase'、
'USER': 'zhj'、
'PASSWORD': '12345678'、
'HOST': '127.0.0.1'、
'PORT': '5432'、
}
}
注:デフォルトのMySQLのMySQLdbモジュールコネクタを使用してジャンゴ。しかし、このモジュールのpython3のpython2だけではなく、のpython3だけpymysqlモジュールこのモジュールを持っているので、我々はpymsqlを修正するためのイニシアチブをとる必要があります。
import
pymysql
pymysql.install_as_MySQLdb()
端末入力を開く両方のコマンド:
1、Pythonのmanage.py makemigrations
2、Pythonのmanage.pyの移行
manage.py makemigrationsは、パイソンを通じて当社のモデルのすべてを見つけ、その後のpython manage.pyでデータベーステーブルを生成するために、移行します
4サービススーパーバイザーは、開始エラーを開始します
開始 監督:エラー:別の プログラムが され 、すでにの一つのポートでリッスンし 、当社の HTTPサーバが されて するように 使用します。シャットこの superviso開始する前に最初のプログラムをダウン
解決策:リンク解除 / tmpに/ スーパーバイザー。私たちの靴下
理由:プロセスがすでに開始することができ、あなたは前に再起動を解除する必要があります。
5、プログラムまたはWebページのテキストDjangoのランニングを知りません
押して、インターネットには、以下を試してみました:
1)ファイルの.pyプラス#コーディング= UTF-8の最初の行に
2)の.pyファイルを追加します
インポートSYS
VAR1 = sys.getdefaultencoding()
リロード(SYS)
sys.setdefaultencoding( 'UTF8')
私たちは、この問題を解決するために失敗しています。
最後に、プログラムファイル自体が間違ってフォーマットを発見された、ASCAIIテキストタイプです。
ファイル形式のコマンドを確認します。
ファイルfile_nameか
enca -L zh_CNにfile_nameを
限り、ファイルフォーマット変換UTF-8のこのタイプとして、この問題を解決することができます。
そのような保存の中国「から」ファイル= s内の行を追加するなど、pycarmエディタで修正、当然のことながら、その中に中国を削除ASCAIIテキストタイプを返します、オーバー変換することができます。
apacheのサービスをシャットダウンする方法6、
sudoのapache2ctl停止
sudoのアップデート-rc.dの-f apache2の-fパラメータを削除/etc/init.d/apache2がまだ存在していても、シンボリックリンクを削除することは必須です。注:サービスがアップグレードされるまで、このコマンドは、サービスを無効にします。
あなたは、サービスアップグレード後に無効のままにしたい場合。更新のrc.dのapache2のストップ80 0 1 2 3 4 5 6次のコマンドを実行しなければなりません。
7、Djangoはデータベーステーブルの問題を作成しません。
报错:No migrations to apply
最初のステップ:
アプリ名を削除した場合のなど__Init__.pyファイルの移行、。
ステップ2:
データベースへのアクセスは、django_migrationsテーブルを見つけ、アプリ名のすべてのレコードを削除します。
第三段階:プロジェクトディレクトリでこのコマンド:( 2を実行)
python manage.pyのmakemigrations
python manage.pyの移行
理由:
データベーステーブル内のレコードを変更するdjango_migrationsは、対応表を記録します。
各変更の後、第三のステップは、コマンドを実行し、ファイルの最初のステップで生成されたファイルフォルダを変更し、テーブルのdjango_migrations変更は、変更プロセスを記録します。
参考文献:
https://code.ziqiangxuetang.com/django/django-url-name.html
http://www.runoob.com/django/django-tutorial.html
http://www.runoob.com/python/python-tutorial.html