Я знаю, что это старая тема, но с той же проблемой. Я применил вышеуказанные решения, но проблема все еще осталась. Позже я обнаружил, что проблема вызвана эмулируемым запоминающим устройством USB, а не подключенным как USB-диск. Потому что, когда вы загружаете подписанный файл Apk и устанавливаете приложение из этого файла, это вызывает проблемы и выдает ошибку записи, например. скрыто, но не выдает много сообщений об ошибках. Я надеюсь, что переход с эмулируемого устройства хранения на монтированный в качестве простого диска поможет тем, у кого такая же проблема, как и у меня.
Вам, вероятно, лучше проанализировать строку, полученную от веб-службы, в коде представления, а затем передать datetime.date (или строку) в шаблон для отображения. Суть шаблонов Django заключается в том, что там нужно выполнять очень мало работы по кодированию; они предназначены только для презентации, и поэтому они делают все возможное, чтобы помешать вам писать код Python, встроенный в HTML.
Что-то вроде:
from datetime import datetime
from django.shortcuts import render_to_response
def my_view(request):
ws_date_as_string = ... get the webservice date
the_date = datetime.strptime(ws_date, "%Y-%m-%d %H:%M:%S+0000")
return render_to_response('my_template.html', {'date':the_date})
Как указывает Мэтью, при этом снижается часовой пояс. Если вы хотите сохранить смещение от GMT, попробуйте использовать отличную стороннюю библиотеку dateutils , которая легко обрабатывает даты синтаксического анализа в нескольких форматах с часовыми поясами, без необходимости предоставлять шаблон формата времени, такой как strptime.
Я согласен с ответом Рекса М , но я бы пошел еще дальше. Если вы используете шаблон MVC (или что-то подобное), представление делегирует нажатие кнопки контроллеру. Конечно, методы контроллеров могут быть вызваны из любого места в вашем классе - скажем, из вашего обратного вызова таймера.
Итак, вернемся к исходному коду:
using System.Windows.Forms;
class MyForm : Form
{
private Timer myTimer;
private Button myButton;
private MyController myController;
public MyForm()
{
// ...
// Initialize the components, etc.
// ...
myTimer.Tick += new EventHandler( myTimer_Tick );
myButton.Click += new EventHandler( myButton_Click );
myTimer.Start();
}
private void myTimer_Tick( object sender, EventArgs eventArgs )
{
myTimer.Stop();
myController.SomeMethod()
}
private void myButton_Click( object sender, EventArgs eventArgs )
{
// All the stuff done here will likely be moved
// into MyController.SomeMethod()
myController.SomeMethod();
}
}
Одним из преимуществ использования MVC является отделение контроллера от представления. Контроллер теперь можно легко использовать для нескольких типов представлений, а выход из графического интерфейса пользователя проще поддерживать, поскольку он содержит очень мало логики приложения.
РЕДАКТИРОВАТЬ: добавлено в ответ на комментарии OP
Основные принципы проектирования в разговоре о разработке программного обеспечения о сцеплении и сплоченности. Важно отметить, что мы стремимся минимизировать взаимосвязь между компонентами при максимальной согласованности, так как это приводит к созданию более модульной и удобной в обслуживании системы. Такие шаблоны, как MVC, и принципалы, такие как Open / Closed Principal, основываются на этих основах, предоставляя разработчику более ощутимые шаблоны реализации.
Итак, любой, кто пишет код, как видно из исходного сообщения, не понимает основ разработки программного обеспечения и должен значительно развить свои навыки. OP следует похвалить за определение этого «запаха кода» и попытку понять, почему он не совсем правильный.
Некоторые соответствующие ссылки: