月別アーカイブ: 2019年3月

Django DateTimeFieldで格納したデータをVeiwで文字列に変換すると時間がずれる

Django DateTimeFieldで格納したデータを

template側では、settingで指定した
タイムゾーンで表示されるが
Veiwで文字列に変換すると、時間がずれる


timedataにデータを読み込み、文字列に変換

strtimedata=timedata.strftime(“%H:%M”)

すると
9時間ずれる

astimezone(tz=None)
とすることで、解決した
strtimedata=timedata.astimezone(tz=None).strftime(“%H:%M”)

参考
https://qiita.com/popsuzuki/items/fea7c6639c5079a6408a

ImportError at /admin cannot import name ‘path’ from ‘django.urls’ (/home

Django 1.11.xx
から
Django 2.xx
に切り替えようとしたら

ImportError at /admin cannot import name ‘path’ from ‘django.urls’ (/home

とういエラーがでた

urlpatterns = [
url(r’^admin/’, admin.site.urls),

から、

urlpatterns = [
path(‘admin/’, admin.site.urls),

変更により、エラーが発生しています。

つまり、
Django 2.xx
の書式で、作成されているかれど

Djangoを読み込んでいるのが、古いDjango 1.11.xx
のPathになっていました。

パッケージの読み込みPathを正しくした所
解消しました。

DjangoでTempleteを読み込まない「TemplateDoesNotExist at」

settings.py

TEMPLATES = [

‘django.template.context_processors.static’, ##
を、追加で解決

TEMPLATES = [
{
:
:
:
‘django.contrib.auth.context_processors.auth’,
‘django.contrib.messages.context_processors.messages’,
‘django.template.context_processors.static’, ## ここを追加
],
},
},
]

ただし、厄介なのは、
一度、テンプレートを読み込めると
TEMPLATES = [
から
‘django.template.context_processors.static’, ## ここを追加
を、削除しても、読み込んでくれる。

読み込んだ実績を内部で管理しているのだろうか。

色々な所を、修正して、根本原因を整理したいような時
不具合の検証ができないため、苦労する。

./manage.py runserver
を、再起動しても再現しない

./manage.py makemigrations
./manage.py migrate
しなおしても再現しない

一度、dbを削除(db.sqlite3)して
./manage.py makemigrations
./manage.py migrate
しなおしても再現しない

設定後、戻す事はないかと思うが
別の所で、現象が出た時、元に戻してしまうと注意が必要。。

sublimeTextのメニューが急に中国語に

UbuntuにsublimeTextをインストールして

日本語へ設定して使っていたら、

急に、メニューが中国語に変わってしまった。

少しの間は、我慢して使っていたが
やはり使い難いので、調べた所
どうにか日本語になった。

メニューのヘルプ(H)の一番下の
LanguageからJapaneseを
選択したら、元にもどった。

どのタイミングで、不具合になったかは謎である。

今後の動きを観察してみたいと思う。

Ubuntu で、python仮想環境にDjangoをインストール

Djangoは、バージョンにより
Pythonのバージンが関係するので、
少々厄介のよう

一度、構築できてしまえば、後は問題ないのですが。

Django1.11をインストールするために仮想環境を構築

何回か、エラーのなったので整理しておく

バージンを調べる
python -V
Python 3.6.3

3.6のよう

色々試したいので、仮想環境を構築したい

python3.6 -m venv env

エラーになり
apt-get install python3-venv
とのアドバイス

sudo apt-get install python3-venv

E: パッケージ python3-venv が見つかりません
パッケージがないというエラー

3.6が入っているからとりあえず作ってみる
python3.6 -m venv –without-pip env

作れた。
source env/bin/activate

pip install -U pip

エラーになる
とりあえず、入れてみる

pip install django==1.11.17
インストールできたみたい

走らすと、エラー
equirement already satisfied: django==1.11.17 in /usr/local/pyenv/versions/3.4.7/lib/python3.4/site-packages (1.11.17)

3.4の所入っている?
3.4.7じゃだめだよね

python -m django –version
/env/bin/python: No module named django

認識していない
deactivate

ちゃんといれないとだめみたい
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update

#sudo apt-get install python3.6
sudo apt-get install python3.6-venv

インストールできた

python3.6 -m venv env
source env/bin/activate

pip install -U pip
pip install django==1.11.17

python -m django –version

今度は認識できた。

上手く走った。

はじめから
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update

sudo apt-get install python3.6
sudo apt-get install python3.6-venv
として置けばよさそう。

あとは、
python3.6 -m venv env
source env/bin/activate
pip install -U pip
pip install django==1.11.17

できてしまうと、なんでもないことなんですが。