Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

204
Visualizações
Importar una clase en urls.py en Django

En las últimas semanas, pasé de desarrollar una aplicación que procesa un archivo XML simple, luego escribe su contenido en una base de datos Oracle ( cx_Oracle ) y genera salidas en HTML, a usar un marco Django. El cambio de marco Django no era necesario, pero como tengo la oportunidad de desarrollar algo usando Django, pensé por qué no, ya que es un área nueva para mí y no puede dañar mi CV.

De todos modos, tengo problemas para saber qué escribir en mi archivo urls.py al importar una Clase desde el archivo views.py . Estos son los contenidos actuales:

urls.py

 from myproj.views import Pymat_program pymatProgram = Pymat_program() urlpatterns = ( url(r'^pymat/$', pymatProgram.abc), )

vistas.py

 class Pymat_program: def abc(self, request): test = "<html><body>Random text.</body></html>" return HttpResponse(test)

Probé varias permutaciones de usar solicitud, no usar solicitud, y también cómo se llama a la clase en la tupla de URL, todo fue en vano. Cuando uso una definición fuera de la clase (es decir, no en ninguna clase), esto se muestra correctamente en HTML.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

No desea envolver su programa en una clase. (En general, en Python debe tratar los módulos como, digamos, Java podría tratar las clases solo con miembros estáticos).

Hay dos enfoques, realmente:

Vistas basadas en funciones

urls.py

 from myproj.views import abc_view urlpatterns = ( url(r'^pymat/$', abc_view), )

vistas.py

 def abc_view(request): test = "<html><body>Random text.</body></html>" return HttpResponse(test)

Vistas basadas en clases

urls.py

 from myproj.views import AbcView urlpatterns = ( url(r'^pymat/$', AbcView.as_view()), )

vistas.py

 from django.views.generic import View class AbcView(View): def get(self, request, *args, **kwargs): test = "<html><body>Random text.</body></html>" return HttpResponse(test)
over 4 years ago · Santiago Trujillo Relatório

0

Dado que está utilizando vistas basadas en clases en Django, debe llamar a esta clase en una URL como:

 from myproj.views import Pymat_program pymatProgram = Pymat_program() urlpatterns = ( url(r'^pymat/$', pymatProgram.as_view()), )

y luego use obtener o publicar el nombre de los métodos en la clase como:

 class Pymat_program: model = ModelName def post(self, request, *args, **kwargs): ....

La segunda forma es usar vistas basadas en funciones:

urls.py

 from django.conf.urls import url from . import views urlpatterns = [ url(r'^articles/2003/$', views.view_name), ]

vistas.py

 from django.http import HttpResponse import datetime def view_name(request): now = datetime.datetime.now() html = "<html><body>It is now %s.</body></html>" % now return HttpResponse(html)

para obtener más detalles, consulte los documentos de vistas basadas en clases

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda