Во-первых, вероятно, потому что на вашем локальном компьютере вы запускаете Django как CGI или каким-то другим способом «новый запрос - другой процесс». Так что, если вы регистрируете модель страницы в каждом запросе, это работает, потому что у вас есть один запрос. Но на веб-сервере ваше приложение загружается как FCGI или каким-либо другим способом, таким образом, так что только первый запрос может быть успешно обработан (когда второй запрос отправлен, ваше приложение пытается зарегистрировать модель страницы снова).
Второй, вероятно, потому что у вас есть относительный путь к файлу БД. Так что если вы наберете
./manage syncdb
в вашем проекте dir '/ my / project / dir'. Django ищет файл в '/my/projec/dir/mydb.sqlite'.
Но если вы запустите его на веб-сервере, у вас будет другой путь '/ some / http / server / path', поэтому ваша программа запутается.