意識navie時間と使用中の時間と変換ジャンゴ

Djangoは、前者は、ゾーン形式のタイムスタンプであると考えられている時間形式をマーキングすることなく、時間帯を指し、関連する時間及びnavie時間認識時間に分割されます。setting.pyファイルの枠組みでジャンゴ

LANGUAGE_CODE = ' EN-US ' 
#の最初に、 'UTC'イーストゾーン0(または西区0)作成時TIME_ZONEは、デフォルトでは、タイムゾーンを表し 
TIME_ZONE = ' アジア/上海' 

USE_I18N = 

USE_L10N = USE_TZにします時間認識標識バンド形式の真の代表的な使用時 
USE_TZを= TRUE

Pythonでは、時間の意識は、デフォルトのUTC東ゾーン0に設定されます。

たとえば、我々は次のようなデータを作成しました:

django.shortcuts インポート逆、レンダリング、リダイレクト
 から .modelsをインポートブックを
 から django.utils.timezoneの輸入今、localtimeの

デフ:add_book(リクエスト)
     場合 request.method == ' GET ' リターンが(レンダリングリクエスト、add_books.htmlを" 
        タイトル = request.POST.get(" BOOK_TITLE " 
        の著者 = request.POST.get(" 著者:BOOK_AUTHOR "
        価格 = request.POST.get(" book_price " 
        ブック =ブック(タイトル=タイトル、著者=著者、価格=価格、CREATE_TIME = NOW())
        book.save()
        の戻りリダイレクト(逆(' インデックス'))

データベース時間に保存されています:

実際には、あなたは8時間後に、この時間よりリアルタイムに見ることができ、それは我々が東8地区にあるためであり、時間をDjangoのだろうが0東部地区に設定されている、東ゾーン0それはなぜでしょうか?

私たちは見てする必要があります

django.utils.timezone.now

この機能

デフ今():
     "" " 
    戻る意識やナイーブdatetime.datetimeの、settings.USE_TZに応じて
    """ 
    もしsettings.USE_TZ:
         #1 はtimeitショー24%が遅いdatetime.now(TZ = UTC)という
        返す日時を。 。utcnow()を置き換える(tzinfoが= UTC)
     戻り datetime.now()

私たちは今、関数を呼び出すが、それは、django.utils.timezone.now機能で見ることができますが、この関数は本質的に、最初に決定します

値がtrueの場合USE_TZ UTCに変換する場合、date.now日時の時間帯で真であるだろう、falseの場合、日時、この時間を直接使用するので、2つのソリューションがあります:1、
USE_TZ値は、2、偽のローカルタイムゾーンを設定するには、時間によって東は0タイムゾーンの変換コスト地域をlocaltimeの。
最初のアプローチは、デプロイメントサーバーで実行可能ではない、ので、私たちは第二のアプローチをお勧めします、展開は、サーバー上のLinuxオペレーティングシステムを使用することは可能ではありません。
:次のように第二のアプローチは、
1セットにローカルタイムゾーンを、アジア/上海setting.py文書のローカルエリアを設定します
TIME_ZONE = ' アジア/上海'

 

次いで、テンプレートはモジュールをレンダリングTZ導入された場合、変換モジュールTZ LOCALTIMEを用いる方法。
{%が延びる' base.html '} 
{%負荷のTZ%} 
{%ブロックタイトル%} 
首页
{%の末端ブロック%} 
{%ブロックメイン%}

     <TABLE> 
    <THEAD> 
    <TR> 
        <TH>序号</番目> 
        <TH>书名</番目> 
        <TH>作者</番目> 
        <TH>价格(美元)</番目> 
        <TH>上架时间</番目> 
    </ TR> 

    </ THEAD> 
    <TBODY> 
    {のための書籍書籍%}
         <TR>
        <TD> {{book.title}} </ TD>
        <TD> {{book.author}} </ TD> 
        <TD> {{book.price}} $ </ TD> 
        <TD> {{book.create_time | LOCALTIME}} </ TD> 
        </ TR> 
    {%ENDFOR%}

     </ TBODY> 
    </ TABLE> 



{%の末端ブロック%}

 

最後に、フロントページの表示時間に、当社の東京時間は次のとおりです。

 

おすすめ

転載: www.cnblogs.com/gaoshiguo/p/12292935.html