2016-09-02 3 views
0

Привет всем Я совершенно новый с Python и Django. Я пытаюсь читать данные из внешней базы данных в MySQL, для этого я создаю приложение внутри моего проекта и соединиться с внешней базой данных, как этогоданные для передачи данных для просмотра django

'cpu_project': { 
    'ENGINE': 'django.db.backends.mysql', 
    'NAME': '***',       
    'USER': '***',       
    'PASSWORD': '***',     
    'HOST': '***',         

}

В моем главном urls.py добавить это

url(r'^cpu/', include('cpu.urls')), 

Сейчас в models.py мое приложение у меня есть этот

def cpu(): 
    rows = MyModel.objects.using('mysql').all() 
    return render_to_response('cpu/cpu_data.html', {'rows': rows}) 

Моя проблема заключается в том, что я не знаю, как передать данные формируют модель с точки зрения

у меня есть это в моем urls.py из этого приложения

from . import views 

urlpatterns = [ 
    url(r'^$', views.index, name='index'), 
] 

view.py имеет этот

from . models import cpu 

def index(request): 
    return render(request, 'cpu/cpu_data.html') 

и мой cpu_data.html имеет этот

{{ rows }} 

по я вижу белую страницу

Любые идеи об этом!

Заранее благодарен!

Я пытаюсь передать простое значение в модели я изменить

rows = MyModel.objects.using('mysql').all() для этого

rows = 1 
+0

Эта функция 'cpu' * есть * вид. Ему просто нужно принять аргумент 'request'. –

+0

Hi @ Daniel Roseman извините, но я не понимаю, вы говорите в модели !!! – user254665

+0

Дело в том, * почему * это в модели? Он имеет точную структуру вида. * * a Перейдите к просмотрам. –

ответ

0

Вы получили пару ошибок проектирования

Сначала с вашим using() методом в настройках .py вы использовали 'cpu_project' в качестве имени базы данных, поэтому вам нужно использовать это для запроса этой базы данных.

# Use this to query your cpu_project database 
rows = MyModel.objects.using('cpu_project').all() 

'cpu_project': { 
    'ENGINE': 'django.db.backends.mysql', 
    'NAME': '***',       
    'USER': '***',       
    'PASSWORD': '***',     
    'HOST': '***',  
    } 

Here вы можете найти более подробную информацию.

Во-вторых:

Как @Daniel сказал, что вы должны удалить функцию def cpu() из models.py не уверен, что цель функции там. Он должен быть в views.py.

Запросить базу данных в функции просмотра не на models.py. (Если у него нет цели, характерной для моделей, которые зависят от нее)

+0

Спасибо за советы @ Kt14, я пытаюсь показать данные в шаблоне после подключения с внешним db.Теперь у меня есть другая ошибка, скажем, глобальное имя «MyModel» не определено, где я должен определить и как? модель? – user254665

+0

Поместите код в 'def code()' в 'def index()' в view.py и удалите из models.py. Получите основы Django раньше, похоже, что вы не поняли концепцию MVC. – kt14

+0

У меня есть именно это ... удалить функцию в models.py и включить код в индекс внутри индекса. Но скажите, что глобальное имя «MyModel» не определено – user254665

Смежные вопросы