Sem problemas! Eu faço isso toda hora.
Quanto ao "não edite ou atualize os dados", apenas não adicione nada ao seu aplicativo que atualize os dados. A sugestão de Salem sobre o uso de permissões no lado do MySQL também é uma boa ideia.
Para recuperar os dados, você tem duas opções:
1) Você pode criar modelos Django que correspondam às suas tabelas no banco de dados MySQL. Você pode fazer isso manualmente ou pode usar o comando "inspectdb" com manage.py para ter um bom ponto de partida. Então faça algo assim:
def myview(request):
rows = MyModel.objects.using('mysql').all()
return render_to_response("mytemplate.html", {"rows" : rows })
2) Você pode gerenciar as conexões e consultas manualmente dentro do seu aplicativo. Isso é perfeitamente válido dentro de uma visão:
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})
finalmente -- o Django está perfeitamente feliz em usar o MySQL como banco de dados. Pode simplificar as coisas se o seu DBA permitir que o Django crie suas tabelas diretamente no mesmo banco de dados.