Inga problem! Jag gör det här hela tiden.
När det gäller "redigera eller uppdatera inte data", lägg bara inte till något i din app som skulle uppdatera data. Salems förslag om att använda behörigheter på MySQL-sidan är också en bra idé.
För att hämta data har du två alternativ:
1) Du kan skapa Django-modeller som motsvarar dina tabeller i MySQL-databasen. Du kan göra detta manuellt, eller så kan du använda kommandot "inspectdb" med manage.py för att ge dig själv en bra utgångspunkt. Gör sedan något så här:
def myview(request):
rows = MyModel.objects.using('mysql').all()
return render_to_response("mytemplate.html", {"rows" : rows })
2) Du kan hantera anslutningarna och frågorna manuellt i din app. Detta är helt giltigt i en vy:
def myview(request):
conn = MySQLdb.connect("connection info here")
try:
cursor = conn.cursor()
cursor.execute("select * from mytable")
rows = cursor.fetchall()
finally:
conn.close()
return render_to_response("mytemplate.html", {"rows" : rows})
slutligen -- Django är mycket nöjd med att använda MySQL som en databas. Det kan förenkla saker och ting om din DBA låter Django skapa sina tabeller direkt i samma databas.