Después de de una larga recopilación de datos dimos con la respuesta este atasco que pueden tener muchos de nuestros lectores. Te ofrecemos la solución y nuestro objetivo es que te sea de mucha apoyo.
Solución:
Tu pregunta es muy poco clara. Probablemente deberías seguir el tutorial de django.
Pero seguro que puede insertar datos en la base de datos desde las vistas. Suponga que tiene un modelo llamado Foo
:
modelos.py
class Foo(models.Model):
name = models.CharField(max_length=100)
ver.py
from .models import Foo
def some_name(request):
foo_instance = Foo.objects.create(name='test')
return render(request, 'some_name.html.html')
Simplemente puede crear una instancia de uno de sus modelos y guardarla. Supongamos que tiene un modelo de artículo:
from django.http import HttpResponse
from django.template import loader
from .models import Article
def index(request):
article = Article()
article.title = 'This is the title'
article.contents = 'This is the content'
article.save()
template = loader.get_template('articles/index.html')
context =
'new_article_id': article.pk,
return HttpResponse(template.render(context, request))
Una manera fácil de hacer esto sería hacer uso de la función de creación. Mencionando el nombre del campo y sus valores. El siguiente código ilustrado lo ayuda a insertar datos en su base de datos desde views.py y mostrar el contenido de la base de datos en la página html.
Supongamos que tenemos una mesa que se parece a esto
Name Age Marks
Bunny 4 10
Tanishq 12 12
El models.py se parece a esto
from django.db import models
# Create your models here.
class Student(models.Model):
student_name = models.CharField(max_length = 120)
student_age = models.IntegerField()
student_marks = models.IntegerField()
Así que views.py se vería algo como
from django.shortcuts import render
from .models import Student # Student is the model class defined in models.py
# Assuming the data to be entered is presnet in these lists
stud_name = ['Aman', 'Vijay']
stud_age = [13, 12]
stud_marks = [20, 22]
def my_view(request, *args, **kwargs):
# Iterate through all the data items
for i in range(len(stud_name)):
# Insert in the database
Student.objects.create(Name = stud_name[i], Age = stud_age[i], Marks = stud_marks[i])
# Getting all the stuff from database
query_results = Student.objects.all();
# Creating a dictionary to pass as an argument
context = 'query_results' : query_results
# Returning the rendered html
return render(request, "home.html", context)
El siguiente debe ser el archivo home.html para mostrar todos los datos ingresados
HOME
Name
Age
Marks
% for item in query_results %
item.student_name
item.student_age
item.student_marks
% endfor %
Comentarios y valoraciones
Si te ha sido provechoso nuestro artículo, sería de mucha ayuda si lo compartes con más programadores de este modo nos ayudas a extender este contenido.