Comment insérer des données à la base de données de django views.py fichier?

Comment puis-je insérer les données dans ma base de données de django à partir d'une fonction dans les points de vue,py fichier? Est python manage.py shell la seule façon de l'insérer??

Pour plus d'explications, je suis en utilisant:

  • python 3.4
  • django 1.8.2
  • PyMySQL

Par exemple:

models.py:

from django.db import models

class Publisher(models.Model):
    name = models.CharField(max_length=30)
    city = models.CharField(max_length=60)

views.py:

from django.http import HttpResponse
import pymysql
from books.models import Publisher

def send(request):
    p = Publisher(name='Apress', city='Berkeley')
    p.save()

urls.py

de niloofar.vues d'importation envoyer

url(r'^index/', envoyer),

Je veux quand l'index de la page est chargée, la fonction d'envoi des œuvres et insérer les données dans la base de données.

Il ne fonctionne pas. Il ne donne pas d'erreur et aussi rien ne s'est passé quand j'ai actualisé la page d'index, rien n'a été envoyée à la base de données. Je pense qu'il y a erreur dans la syntaxe, dans la façon dont je suis en train d'essayer d'insérer des données.

Permettez-moi de faire remarquer que même quand je lance python manage.py shell alors:

de livres.importation de modèles Éditeur

p = Éditeur(nom='Apress', ville='Berkeley')

p.save()

rien ne sera inséré à la base de données de django.

Bien sûr, le shell n'est pas la seule façon de les écrire à la db, ce qui serait le point de tout cela? Dans tous les cas, le tutoriel vous montre exactement comment faire cela, s'il vous plaît aller à travers elle entièrement.
Bienvenue sur stackoverflow, 'stackoverflow.com/questions/35472057/... " Get a commencé avec django tutoriel première.
Il ne suffit pas d'écrire "il ne fonctionne pas". Ce qui se passe exactement? Comment est-il différent de vos attentes? Ne vous obtenez des messages d'erreur? Que disent-ils? À partir de votre code d'exemple, il semble que vous avez oublié de le nom de votre point de vue (il devrait y avoir un nom avant la parenthèse dans la ligne de def (request):)
Désolé j'ai mis à jour ma question.

OriginalL'auteur niloofar | 2016-02-24