プロジェクトジャンゴを開始します

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
   3. [スタート]スーパーバイザー
         ( sudo ) supervisord -c  /etc/supervisord .conf
   4、起動、停止、またはすべてのプログラムのプログラム責任者や管理を再起動します
           ( sudo ) supervisorctl -c  /etc/supervisord .conf [start|stop|restart] [program-name|all]
 
    5、これらの機能を実現するために、INI設定ファイルを使用して
         あなたは次のように入力し/home/tu/zqxt/uwsgi.ini zqxtプロジェクトの建設には:
          [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
         次に、コマンドラインスーパーバイザープロファイルを変更します。
         コマンド= /パス/に/ uwsgi --ini /home/tu/zqxt/uwsgi.ini
         最後の再起動zqxtアイテム:
   ( 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' , 
     )
     3、データベースをどのように交換します
           Djangoのデータベースを使用すると、MySQLや他のデータベースを変更したい場合は、その後、あなたは、プロジェクトのsettings.pyファイル内のデータベースを変更する必要があり、デフォルトのsqlite3ので使用されています
           
           SQLiteデータベースの設定

           データベース= {

                'デフォルト': {

                '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を修正するためのイニシアチブをとる必要があります。

  
  プロジェクト内の同じファイル内のファイルに次のコードを追加を__init__.py
 
  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

 

おすすめ

転載: www.cnblogs.com/huanhuaqingfeng/p/11101751.html
おすすめ