Explicar el funcionamiento de transaction.atomic()

publicado por: Anonymous Estoy empezando un proyecto en django y mirando ejemplos veo que usan transaction.atomic() para guardar en la base de datos pero no comprendo exactamente el funcionamiento. solución Intentaré explicarlo con un ejemplo. Imagina que tienes una clase cuenta donde vamos a almacenar un importe. Algo así: from django.db import models from django.contrib.auth.models…(Continue Reading)

エラーInvalid HTTP_HOST header: ”. You may need to add ‘

投稿者: Anonymous Djangoの勉強をしており、AWSでアプリケーションを公開しようというところまできたのですが、ブラウザでアクセスしてみると以下のエラーが出てしまいます。 Bad Request (400) また、Djangoのlogには以下のエラーが出ます。 Invalid HTTP_HOST header: ‘<IP アドレス>’. You may need to add ‘<IP アドレス’>’ to ALLOWED_HOSTS. このエラー文でググってみると、Djangoの設定ファイル(settings.py)のALLOWED_HOSTSに IPアドレスを設定すれば良いと出てくるのですが、変更してもエラーの内容は変わりません。 実際の設定は次のようにしています。 ALLOWED_HOSTS = [os.environ.get(‘ALLOWED_HOSTS’)] 環境変数のALLOWED_HOSTSにAWSで割り当てられているIPアドレスを入れています。 直接IPアドレスを入れたり、ワイルドカードを使ってもダメでした。 (= [‘*’]のように) DjangoやAWSなど初めてだらけでどうやってデバッグすれば良いかもわからず、完全に行き詰まってしまいました。 何か少しでも心当たりがある方にアドバイスをいただきたいです。 解決 エラーメッセージの『Invalid HTTP_HOST header: ”. You may need to add ” to ALLOWED_HOSTS.』のの部分にはDjangoにアクセスしたブラウザが稼働しているマシン(以下、”クライアントマシン”と呼びます)のIPアドレスが書かれていたと思います。 この問題を解決するには、クライアントマシンのホスト名かIPアドレスを、ALLOWED_HOSTSに追加してください。 <具体的な方法> まず、settings.pyのプログラムから、”ALLOWED_HOSTS = []”か”ALLOWED_HOSTS = [aaa,bbb,ccc]”(aaa,bbb,cccの部分はホスト名かIPアドレスの並び)という行を探します。 “ALLOWED_HOSTS =…(Continue Reading)

ログインユーザの名前を取得

投稿者: Anonymous djangoでHTML上でログインユーザ名の取得を行いたいのですが、 カスタムユーザで認証をユーザ名からメールアドレスに変更した影響で HTML上で’user.username’ないし’user.get_username’で取得される値はメールアドレスになってしまいます。 class UserManager(BaseUserManager): use_in_migrations = True def _create_user(self, email, password, **extra_fields): if not email: raise ValueError(‘The given email must be set’) email = self.normalize_email(email) user = self.model(email=email, **extra_fields) user.set_password(password) user.save(using=self._db) return user def create_user(self, email, password=None, **extra_fields): extra_fields.setdefault(‘is_staff’, False) extra_fields.setdefault(‘is_superuser’, False) return self._create_user(email, password, **extra_fields) def create_superuser(self, email, password, **extra_fields): extra_fields.setdefault(‘is_staff’,…(Continue Reading)

Ayuda con: NoReverseMatch at!

publicado por: Anonymous ayuda con este error: Reverse for ‘pedido_sub’ with arguments ‘()’ and keyword arguments ‘{‘cod_experto’: ‘AA-0002’, ‘id_pedido’: 53}’ not found. 1 pattern(s) tried: [‘solicitar/aprobar/(?P<id_pedido>\d+)/(?P<cod_experto>\d+)$’] Me marca en rojo el tag del index.html: < a href=”{% url “usuario:pedido_sub” id_pedido=ped.id cod_experto=ped.articulo.cod_experto %}” type=”submit” El código de este botón se encuentra en views.py: def pedido_sub(request, id_pedido,…(Continue Reading)

Django REST Framework: クエリパラメータに+を使いたい.

投稿者: Anonymous Django REST Frameworkにおいて,以下のAPIを構築しました. views.py class GetAPIView(views.APIView): def get(self, request): return Response(request.GET) urls.py urlpatterns = [ re_path(r’^test.*’, views.GetAPIView.as_view()), ] ここで以下のリクエストを送りたいです. curl ‘http://localhost:8000/test?100+10’ 実行結果 想定したレスポンス { "100+10": "" } 実際のレスポンス { "100 10": "" } +を扱うためには,どうすればよいでしょうか? 解決 URLにおいて+は特別な意味(スペースとして扱われます)を持ちます.+など,特別な意味を持つ文字を元の文字のままサーバーに伝えたい場合はパーセントエンコーディングをする必要があります. たとえば+は%2Bに置換されるので,?100+10は?100%2B10のようになります. RFC 3986で定義されているこれは多くの言語で標準で実装されていることがあり,たとえばPythonではurllib.parseで利用できます.(つまりはdjangoでは内部的にurllib.parse.unquote_plusに相当することをやっているとも考えられます) curlでは-Gと–data-urlencodeを併用することでURLエンコードをおこなったGETクエリが付与できるようです. https://unix.stackexchange.com/a/86737 回答者: Anonymous

djangoの導入ができません

投稿者: Anonymous djangoのインストールはできています。 シェルでdjangoをimportとして、バージョンを表示させようとしても以下のエラーが出ます。 AttributeError: module ‘django’ has no attribute ‘version’ 解決方法を教えてください。 解決 >>> django.VERSION (2, 0, 4, ‘final’, 0) こうすべきところで、以下のようにしてるのではないですかね? >>> django.version Traceback (most recent call last): File “<stdin>”, line 1, in <module> AttributeError: module ‘django’ has no attribute ‘version’ 回答者: Anonymous

django.db.utils.ProgrammingError: ya existe la columna «user_id» en la relación «django_admin_log»

publicado por: Anonymous actualmente estoy desarrollando un proyecto en Django 2.0.2, pero al realizar las migraciones de mis modelos obtengo él siguiente error: django.db.utils.ProgrammingError: ya existe la columna «user_id» en la relación «django_admin_log» Este es todo lo que muestra la consola: Traceback (most recent call last): File “manage.py”, line 15, in <module> execute_from_command_line(sys.argv) File “C:UsersalejaDocumentsGitHubproyectoHelpingProyectoproyectoHelpinglibsite-packagesdjangocoremanagement__init__.py”,…(Continue Reading)

pythonのDjangoでのmigration

投稿者: Anonymous pythonのDjangoを使用して、Webアプリケーションを作りたいと思っています。 現在は、初期設定を行なっています。 ですが、下記のようにそのようなモジュール名のファイルはありませんと記載されてしまい、 どのようにすればマイグレーションできるのかわかりません。 $ python manage.py migrate File “manage.py”, line 8, in <module> from django.core.management import execute_from_command_line ImportError: No module named django.core.management Djangoはインストールできています。 $ pip freeze Django==1.8 インターネットで検索をして似たような内容はあるのですが、 具体的な操作の回答はなかったので、教えていただけないでしょうか? 解決 こちらの件ですが、pythonのバージョンが古くて表示されたエラーでした。 http://graphbooth.com/2017/05/31/pythonmac.html 上記のサイトを見ながら解決させていただきました。 djangoのバージョンとphthonのバージョンが合っていなかったようです。 お答えくださった方すみません。 回答者: Anonymous

Cómo hacer el motor de búsqueda de mi aplicación en django

publicado por: Anonymous Hola amigos Estoy haciendo mi primera aplicación web, necesito implementar un motor de búsqueda. Quiero que un usuario escriba el nombre de una ciudad para mostrar la lista de eventos en esa ciudad. Al final dejo una imagen de mi aplicación y los modelos de la base de datos: class Ciudad (models.Model):…(Continue Reading)

Usar order_by en Django

publicado por: Anonymous Intento ordenar una lista de post en Django. He leído que hay que usar .order_by(‘-fecha’). He probado lo siguiente en el template: {% for post in persona.post_set.all.order_by(‘-fecha’) %} {{ post.texto }}<br> {% endfor %} Pero me devuelve este error: Could not parse the remainder: ‘(-fecha)’ from ‘persona.post_set.all.order_by(-fecha)’ ¿Como podría ordenar los post…(Continue Reading)

django-paypal のPayPalPaymentsFormのnotify_url設定について

投稿者: Anonymous Django 1.6で、django-paypal を使用しています。 PayPalはIPNを使用しています。 https://django-paypal.readthedocs.org/en/stable/standard/ipn.html の3番目です。 PayPalPaymentsFormでのdictの設定で、 “notify_url”: “https://www.example.com” + reverse(‘paypal-ipn’), とありますが reverseメソッドが勝手にURLを生成してくれるので “notify_url”: reverse(‘paypal-ipn’) だけでいい気がしますが違いますでしょうか? そもそも、私はこのnotifyをよく理解してないのですが、何を通知するものなのでしょうか? When someone uses this button to buy something PayPal makes a HTTP POST 購入の処理の裏方作業を勝手にやってくれる何かをするということなのでしょうか。 何卒よろしくお願い致します。 解決 解決しました。IPNをPayPalでのサイトで設定が必要でした。 回答者: Anonymous

djangoのmodelに後からauto_now_addを加える場合の処理の方法について

投稿者: Anonymous 標記に関し、質問致します。 models.py に、後からcreated_atというフィールドを加え、 auto_now_add=True としてフィールドを設定したのですが、 下記のところから何を入れれば先に進めるのかわからず止まりました。 python manage.py makemigrations You are trying to add the field ‘created_at’ with ‘auto_now_add=True’ to resultreport without a default; the database needs something to populate existing rows. 1) Provide a one-off default now (will be set on all existing rows) 2) Quit, and let me add a default…(Continue Reading)

Djangoを使った投票アプリケーションの作成

投稿者: Anonymous Djangoを用いて, 投票アプリを作成しようと思っています. 設計としては ページ1: トップページ. 質問作成者が新しい質問(セッション?)を作成する ページ2: 質問作成者が選択肢などを設定し, 他ユーザの投票ページへのリンクを表示する ページ3: 質問作成者以外のユーザーの投票画面 というものを考えています. 公式サイトにも(http://docs.djangoproject.jp/en/latest/intro/tutorial01.html)投票アプリの作成方法が載っていますが, webサイトの管理者のみが質問を作成できる形式で, webサイトを訪れた人が誰でも質問を作成できるものではないようです. このような機能を実現するアプリの作り方が掲載されているwebサイト, ないし書籍などをご存知でしたら, 教えて下さい. 解決 投票アプリを作りたいのであれば、Djangoのチュートリアルを参考にするのが良いです。 質問作成の部分だけ別途自分で考えて作り直す必要がありますが、凝った事をしなければチュートリアルの知識だけで対応できます。 質問に書いてあるリンク先は古いドキュメントなので、参考までに最新の日本語ドキュメントのリンクです。 Django ドキュメント 他には、投票アプリではないですがDjangoでアプリケーションを作る手順を一通り説明しているものでは、以下が参考になると思います。 Webアプリ開発実践:Djangoでシフト作成ページを作ろう!(はじめに) – Qiita 回答者: Anonymous

Django admin: ¿cómo agregar la suma de todos los registros de un modelo?

publicado por: Anonymous Estoy creando una aplicación de contabilidad. Creé el modelo para las transacciones de la siguiente manera: Transacciones() consumidor monto tipo_monto fecha comentario En el admin hice que se muestren todas las columnas y también los filtros por cada columna, pero necesito que en una fila nueva se agregue el total de los…(Continue Reading)

¿Como hago para editar un registro ya existe en la base de datos en Django y que no me agregue otro?

publicado por: Anonymous Hola¡ Llevo tiempo intentanto editar mi resgistros en django pero en vez de eso me agrega uno nuevo, por favor alguien que me ayude. Esta es mi función para editar: def editarempleado (request, id_empleado): p = Empleados.objects.get(pk=id_empleado) if request.method == “POST”: form = EmpleadoForm(request.POST,instance=p) if form.is_valid(): form.save() return redirect (’empleados’) else: form…(Continue Reading)

Contar elementos seleccionados de un select box con javascript

publicado por: Anonymous Saludos, tengo un select box (id_encuentros) y necesito saber cuantos elementos se han seleccionado para restrigirlo, es decir si ha seleccionado más de una opción entonces le mostraría un mensaje de alerta. Alguien sabe como hacerlo en javascript o jquery? Gracias. solución Al final encontré la solución, por si a alguien le…(Continue Reading)

Module Not Found Error:No module named ‘django’これを解決するにはどうすればいいですか?

投稿者: Anonymous コマンドプロンプトでpip install djangoで使えるようにしてあります。なぜこのエラーが出るのか教えてください。また、解決策はどうすれば良いのか教えてください。お願いします! 解決 お疲れ様です。 (別の方がコメントされているよう、もう少し、情報を増やされたほうが回答が得やすいかもしれません。想像半分で以下に回答します。) import django が嫌われることは普通ないと想像します。 よって、 pycharmというタグがありますが、pycharmを使われていますか。 で、anacondaも使われていますか。 そのような前提で、 これは、djangoを別のところにインストールされているのだと思うので、 元々、インストールした方法で、djangoをuninstalし、 次に、ご使用の環境で進められているインストール方法で、anacondaならば、pipでなくて、 conda等でインストールされるのがいいと思います。 回答者: Anonymous

Django管理サイトで別テーブルの情報にフィルタをかけたい。

投稿者: Anonymous Django管理サイトで外部キーで紐づいている別テーブルの情報を紐づけたい。 先ほど、上記の質問で外部キーに設定している ↓のテーブルがあるときに 別テーブルの情報を引っ張ってくる方法を教えてもらいました。 model.py from django.db import models class ShopUserRelation(models.Model): shop_id = models.ForeignKey(‘Shop’, db_column = ‘shop_id’) user_id = models.ForeignKey(‘User’, db_column = ‘user_id’) class Shop(models.Model): name = models.CharField(max_length = 128) class User(models.Model): name = models.CharField(max_length = 128) admin.py class ShopUserAdmin(admin.ModelAdmin): list_display = (‘id’, ‘shop_name’, ‘user_name’) def shop_name(self, obj): return obj.shop_id.name shop_name.short_description = ‘Shop…(Continue Reading)

Select multiple ManytoMany en Django

publicado por: Anonymous Necesito crear un multiselect con los valores de un campo ManyToManyField, en un template de html en Django. Mi archivo model.py from othermodel.models import Othermodel class whatever(models.Model): whateverfield = models.ManyToManyField(Othermodel,related_name=”whateverfield”) Mi archivo form.py class PostForm(forms.ModelForm): class Meta: model = whatever fields = ( ‘whateverfield’ ) def __init__(self, *args, **kwargs): super(PostForm, self).__init__(*args, **kwargs)…(Continue Reading)

Convertir en mayúsculas el texto de un models.CharField() en Django Python

publicado por: Anonymous ¿Alguien sabría de alguna función o de cómo convertir en mayúsculas el texto obtenido de un campo mediante form? Mi caso es este: DNI = models.CharField(max_length=9, null=True) Nombre = models.CharField(max_length=60, null=True) Apellidos = models.CharField(max_length=60, null=True) Quiero que al recoger esos campos, se hagan en mayúscula. solución Tienes esta fantástica respuesta que hace…(Continue Reading)

pycopg2がインストール出来ない。

投稿者: Anonymous DjangoをPostageSQLと使いたいと思い設定して、migrateしたのですが、以下のエラーが出てしまいました。 エラー: Traceback (most recent call last): File “C:UserszousanDocumentsenv1libsite-packagesdjangodbbackendspost gresql_psycopg2base.py”, line 23, in <module> import psycopg2 as Database ImportError: No module named ‘psycopg2’ During handling of the above exception, another exception occurred: Traceback (most recent call last): File “manage.py”, line 10, in <module> execute_from_command_line(sys.argv) File “C:UserszousanDocumentsenv1libsite-packagesdjangocoremanagement __init__.py”, line 385, in execute_from_command_line utility.execute() File…(Continue Reading)

¿Cómo trabajar con signals (post_save)?

publicado por: Anonymous Tengo un esquema de usuarios por roles (medical, patient, physiotherapist) que deriva de la clase AbstractUser para utilizarlo en los request como se ve en los siguientes modelos: #models.py from __future__ import unicode_literals from django.conf import settings from django.contrib.auth.models import AbstractUser from django.db import models from django.contrib.auth import get_user_model from django.dispatch import…(Continue Reading)

Django2 での画像1枚1枚への閲覧制限のかけ方

投稿者: Anonymous Django2の勉強中のものです。 ### 今、Python3 / Django2 / Pillow で画像管理サイトを作っているのですが、 画像1枚1枚に対して、ユーザー毎に閲覧制限をかけたいと思っています。 試行錯誤で、django の view.py の中で pillow と bytesIO を使って、 何となく実現の方向は見えてきました。 閲覧権限が満たされていたら、pillowで画像ファイルをopenし、 byteIOへsave、そして、byteIO.getvalueで HTTPResponse に書き出しと 1枚の画像のHTTPResponseを返すのに手間がかかりすぎているように感じてます。 ### もっとスマートに「画像ごとにユーザー閲覧権限」をかける方法はないでしょうか。 アドバイスをいただけますと、嬉しいです。 解決 画像をバイトではなく、ファイルとして取り扱う https://docs.djangoproject.com/en/2.1/howto/static-files/ 対応するURLへのアクセスにユーザーの認証を必要とさせる https://docs.djangoproject.com/en/2.1/topics/auth/ https://docs.djangoproject.com/en/2.1/topics/auth/default/#auth-web-requests というのでいかがでしょうか? 回答者: Anonymous

Descargar un PDF en Django

publicado por: Anonymous Hola alguna sugerencia para poder descargar un archivo pdf tengo el siguiente modelo donde guardo los archivos: class Archivo(models.Model): archivo_pdf = models.BinaryField(null=True, blank=True) nombre = UCharField(max_length=30, null=True, blank=True) Estoy intentando descargar el archivo de la siguiente manera: @login_required @api_view([‘GET’]) def download_file(request,id): try: archivo = get_object_or_404(Archivo, id=id) contents = archivo.archivo_pdf name_file = archivo.nombre…(Continue Reading)

Django ManyToManyFiled como agregar 2 objetos del mismo tipo a un modelo

publicado por: Anonymous Estoy haciendo un inventario de herramientas, y quiero tener la forma de crear un carrito de herramientas donde pueda agregarle herramientas repetidas. Ejemplo(Agregar al carrito dos cortadores del mismo tipo). Tengo Una tabla llamada Item esta tabla contiene todos los campos comunes de todas las herramientas (descripcion, cantidad_ existente, cantidad minima,precio unitario,…(Continue Reading)

django / csvでのデータ書き出しの文字化け&列ずれ対策

投稿者: Anonymous django, Python共に初心者です。 現在djangoで作ったWebサイト内で表示したタスクリストの書き出しをCSVで対応したいと考えております。 CSVでの書き出しはいけるのですが、これをExcelで開くとutf-8のため、文字化けしてしまいます。 下記のどこかに(推測では [writer = csv.writer(response)]の部分あたりで文字コードを指定するのかと思っていますが、うまくいきませんでした。 また、それとは別に書き出したデータを見ていると、一部空欄のデータを認識せずエクセルで列ずれが発生しています。 <相談事項> 1.Excelで書き出したCSVデータを開いたときに、文字化けせずに開けるようにする方法をご指導いただきたい 2.DBが空欄だった場合も列を認識し、各項目をそろえて書き出しできる方法をご指導いただきたい 環境 ・OS : CentOS7 ・Python : 3.6.7 ・Django : 2.1 ・DB : MariaDB お手数ですがアドバイスいただけると幸いです。 よろしくお願いいたします。 from django.shortcuts import render, redirect, get_object_or_404 from django.http import HttpResponseRedirect from django.http import HttpResponse from .forms import PostForm from .models import Task import csv def task_export(request): response…(Continue Reading)

‘FileField’ object has no attribute ‘is_hidden’ al querer crear formulario para subir documentos

publicado por: Anonymous Me sale este error en la plantilla que renderiza mi vista, en la cual estoy probando el campo FileField en el modelo. {% extends ‘base.html’ %} {% block Tilte %} Registrar Solictud a la Convocatoria {% endblock Tilte %} {% block navbar %} {% endblock navbar %} {% block content %} <form…(Continue Reading)