LINUX.ORG.RU

Сообщения Sektor

 

Mojolicious аналог middleware

Форум — Web-development

Привет всем!

Я сам новичок в Mojo. Подскажите, как можно реализовать что-то наподобие джанговских middleware. Нужно для любого запроса, проверять одну куку и производить кое-какие операции. Какая есть возможность для реализации подобного функционала?

 , , , ,

Sektor
()

Вопрос по MongoDB

Форум — Development

Всем доброго времени суток.

Допустим есть следующие документы в некоторой коллекции:

{ "_id" : ObjectId("5441245f302d7e326eade8f3"), "key1" : "some_value", "key2" : "some_value", "KEY3" : "some_value"};
{ "_id" : ObjectId("5441245f302d7e326eade8f3"), "key4" : "some_value", "key5" : "some_value", "key6" : "some_value"};
{ "_id" : ObjectId("5441245f302d7e326eade8f3"), "key7" : "some_value", "key8" : "some_value", "KEY3" : "some_value"};

Как выбрать все документы у которых есть KEY3?

 , ,

Sektor
()

Perl преобразовать строку во float.

Форум — Development

Всем привет!

Как в Perl преобразовать строку в число с плавающей точкой?

конструкция:

    $var2 = sprintf('%.2f', $var);

не работает.

 

Sektor
()

Perl - опередилть, существует ли метод.

Форум — Development

Всем привет.

Подскажите, как нативно в perl определить существует ли метод у объекта?

Скажем, как проверить есть ли $my_obj->my_method?

 ,

Sektor
()

Perl. Распарсит хеш, переданный в качетсве аргумента.

Форум — Development

Есть хешь, он передается в функцию. Как из функции получить доступ к значениям ключей хеша?


sub test_sub {
  my $my_hash = shift;

  print $my_hash{"key"};
}

my %h = ("key" => "hello");
test_sub(%h);

Вышеобозначенный код не работает.

 

Sektor
()

Perl, ад, сатана)

Форум — Development

Всем привет!

Только начинаю работу с perl'ом. Никак не могу врубит в выделение подстрок в строке. Требуется выбрать из строки:

[Tue Feb 10 20:22:57 2015] [info] id: 17, text: «Hello»

Сецию с датой (без квадратных скобок) и значение id.

Подскажите лучшее на Ваш взляд решение данной задачи.

Заранее, спасибо.

 , ,

Sektor
()

PYTHONPATH в OS X

Форум — Development

Всем привет!

На одном компе стоит OS X (10.10).

Потребовалось написать простенькую GUI-шную программу на python и pygtk.

Установил в систему pytgtk с помощью homebrew - все ок. Системный интерпретатор питона нормально импортирует pygtk.

Но во вновь созданном виртуальном окружении (virtualenv) интерпретатор «не видит» pygtk.

>>> import pygtk
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named pygtk

Я так понимаю, нужно в vurtualenv прописать путь, где смотреть пакеты python. Но как это сделать - ХЗ. Гугл ничего внятного не выдает. Так вот, может кто сталкивался. Как решить проблему?

 , ,

Sektor
()

Django - POST 405 METHOD NOT ALOWED

Форум — Web-development

Всем привет!

Не могу победить проблему уже второй день. Раньше все норм работало? а теперь... Прям мистика якая-то(! Короче, пытаюсь отправить, посредством ajax данные в обычную (generic) вьюгу дранки - получаю ошибку - 405. По сто раз проверял уже и мидлваре, и url, и название вьюги - нифига!

urls.py:

...
url(r"^send_to_test/$", test_func, name="test"),
...

views.py

@csrf_exempt
def test_func(request)
     print("@DEBUG@")
     if request.method.is_ajax() and request.method == "POST":
        print(request.POST["test"]

app.js

$.ajax({
    type: "POST",
     url: "/send_to_test/",
     data: {"test": "test"},
     dataType: "json",
         success: function(data) {
             console.log(data);
         }
});

Получаю ошибку - POST 405 METHOD NOT ALOWED

Отлавливаю ошибку в firebug:

POST http://127.0.0.1:8000/send_to_test/ [HTTP/1.0 405 METHOD NOT ALLOWED 36ms]
HeadersPostResponse
AllowGET, HEAD, OPTIONS
Content-Typetext/html; charset=utf-8
DateFri, 27 Feb 2015 15:05:50 GMT
ServerWSGIServer/0.1 Python/2.7.9
VaryCookie
x-frame-optionsSAMEORIGIN

Acceptapplication/json, text/javascript, */*; q=0.01
Accept-Encodinggzip, deflate
Accept-Languageen-US,en;q=0.5
Cache-Controlno-cache
Connectionkeep-alive
Content-Length57
Content-Typeapplication/x-www-form-urlencoded; charset=UTF-8
Cookiecsrftoken=ylRWlLT07b5msvhdlUKtumnJ3Ehm4D9y; sessionid=xcx7mpg4fprob29fysdvun6vq1smztie
Host127.0.0.1:8000
Pragmano-cache
Refererhttp://127.0.0.1:8000/
X-Requested-WithXMLHttpRequest

Что за чертовщина?

 , ,

Sektor
()

Backbone. Не передаются данные в шаблон!

Форум — Web-development
projects_list.fetch({
            success: function () {
                var template = _.template( $("#projects-list-template").html(), {projects_list: projects_list.models} );
                that.$el.html(template);
            }
        });
<script type="text/template" id="projects-list-template">
    <div class="panel panel-primary">
      <div class="panel-body">
        <div class="list-group">
          <% _.each(projects_list, function(project) { %>
            <a class="list-group-item" href="">
              <%= project.get("name") %>
             </a>
          <% }); %>
        </div>
      </div>
    </div>
  </script>

При попытке отрендерить шаблон в консоле получаю ошибку underscore:

ReferenceError: projects_list is not defined

Собственно, почему?

 , ,

Sektor
()

Unit tests in javascript!

Форум — Web-development

Всем привет!

Только начинаю осваивать модульное тестирование. Подскажите, на что и самое главное как можно протестировать, с помощью Qunit, функцию вида:

function myFunc(arg1, arg2, arg3) {
   var result = arg1 + arg2 + arg3;
}

// При этом функция ничего не возвращает.

 , ,

Sektor
()

Backbone.js (распарсить коллекцию в шаблоне)

Форум — Web-development

Всем привет!

Уважаемые js-кодеры, подскажите, пожалуйста, где ошибка? Я только начал изучать backbone.js, посему не судите строго за код (однако буду рад объективным замечаниям). Получаю колекцию с сервера следующего содержания

{"meta": {"limit": 20, "next": null, "offset": 0, "previous": null, "total_count": 1}, 
"objects": [{"card_id": "1", "id": 1, "image_preview": "/static/cards_data/img/18_optics/18_1_bg_prev.png", "resource_uri": "/api/v1/cards_list/1/"}]}

Не получается распарсить данную коллекцию в шаблоне. Не выполнется «_.each».

(function() {
    var _sync = Backbone.sync;
    Backbone.sync = function(method, model, options){
        options.beforeSend = function(xhr){
            var token = $('meta[name="csrf-token"]').attr('content');
            xhr.setRequestHeader('X-CSRFToken', token);
        };
        return _sync(method, model, options);
    };
})();

$.ajaxPrefilter( function( options, originalOptions, jqXHR ) {
    options.url = 'http://localhost:8000/api/v1' + options.url + "?format=json";
});

var Cards = Backbone.Tastypie.Collection.extend({
    url: "/cards_list/"
});

var CardsList = Backbone.View.extend({

    render: function() {

        var cards = new Cards();

        cards.fetch({

            success: function() {

                var template = _.template( $("#cards-list-template").html(), {card: cards.models} );
                $(".content").html(template);

            },

            error: function() {
                console.log("ERROR!!!");
            }
        });
    }
});


var Router = Backbone.Router.extend({
    routes: {
        "" : "index"
    }
});

var cardslist = new CardsList();

var router = new Router();

router.on('route:index', function() {
    cardslist.render();
});

Backbone.history.start();

{% load staticfiles %}

<!DOCTYPE html>
<html lang="en">
  <head>
    ...

    <script type="text/javascript" src="{% static "distrib/jquery-2.1.1.min.js" %}"></script>
    <script type="text/javascript" src="{% static "distrib/underscore-min.js" %}"></script>
    <script type="text/javascript" src="{% static "distrib/backbone-min.js" %}"></script>
    <script type="text/javascript" src="{% static "distrib/backbone-tastypie.js" %}"></script>
    <script type="text/javascript" src="{% static "project/js/main.js" %}"></script>
  </head>

  <body>

    <div class="container">

      <div class="row">
        <div class="col-md-12">

          <div class="content"></div>

        </div>
      </div>

    </div>

    <script type="text/template" id="cards-list-template">
      <h1>Hello, backbone!</h1>
      <table class="table table-striped table-hover">
        <thead>
          <tr>
            <td>ID</td>
            <td>Image Preview</td>
          </tr>
        </thead>
        <tbody>
          <% _.each(card, function(card) { %>
            <tr>
              <td><%= card.get("id") %></td>
              <td><%= card.get("image_preview") %></td>
            </tr>
          <% }) %>
        </tbody>
      </table>
    </script>
  </body>
</html>

Что я делаю не так?

 , , ,

Sektor
()

Fabric.js и границы canvas-области

Форум — Web-development

Всем привет!

Подскажите, как средствами fabric.js определить границы canvas-области? Чтобы нельзя было утягивать объекты в «изнанку мира»?

 , , ,

Sektor
()

Выравнивание по вертикали

Форум — Web-development

Всем привет!

Подскажите, как выровнять вложенные (в некоторый блок) элементы по вертикали согласно примеру: http://jsfiddle.net/e0c2dcLh/ ?

Заранее, спасибо).

 , ,

Sektor
()

Автокрмплит в админке Django

Форум — Web-development

Приветствую. Просьба к бывалым джанглистам, объясните, пожалуйста, на простом примере как работает django-autocoplete-light. Дока у них, конечно, обшираня, но там какой-то ад - нихрена не понятно, а примеры ветки 1.x не работают.

Приложение django-autocomplete-light установлено, настроено. Нужно реализовать простое автодополнение в админке по первым символам для поля типа CharFiled.

Есть модель:

class Font(models.Model):
    name = models.CharField(u"Название шрифта", max_length=128, blank=True)
    font_file = models.CharField(u"Файл шрифта", max_length=512, blank=True)

    ...

amin.py

class FontAdmin(admin.ModelAdmin):
    form = autocomplete_light.modelform_factory(Font)

...

admin.site.register(Font, FontAdmin)

autocomplete_light_registry.py

from models import Font
import autocomplete_light

autocomplete_light.register(Font)

Не представляю вообще, что нужно, чтобы автодополнение заработало. Определать виджет формы ввода для поля модели? Нельзя ли обойтись стандартным? И вообще, что нужно для работы автодополнения? К то в курсе, помогите, плизззз.

 , ,

Sektor
()

Django, syncdb и дефолтные значения в моделях!

Форум — Web-development

Всем здасьте)!

У меня вопрос к многоуважаемому lor-django-сообществу: «Каким образом можно создаватьзаписис в БД с дефолтными значениями сразу во время создания таблиц (во время выполнения syncdb)» ?

Есть у меня приложение А, в нем есть пять полей (filed_1 .. filed_5) в которых я прописываю некоторые значения по умолчанию. Как мне нагенерить таких записей во время выполнения syncdb?

Есть ли возможность делать ч-то-лтбо с данными в БД, вовремя или сразу после выполнения syncdb?

 ,

Sektor
()

Django + Celery + Virtualenv

Форум — Web-development

Всем привет! Пытаюсь начать использовать в работе django-celery, да вот косячок на уровне запуска демона celeryd выходит, победить не пока не могу. Посему, ежели кто сталкивался с подобной проблемой, поможИте чем можИте).

Общая структура проекта:


(../ - virtualenv)

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py
        celery.py
    myapp/
        tasks.py
        ...

Хочу запускать celeryd как обычную службу debian (7.4). Создаю файл «/etc/init.d/celeryd» (https://raw.github.com/ask/celery/master/contrib/generic-init.d/celeryd)

Cтавлю права как +x.

Создаю файл «/etc/default/celeryd» (по http://docs.celeryproject.org/en/latest/tutorials/daemonizing.html#daemonizing):

CELERYD_CHDIR="path/to/project"
CELERY_BIN="path/to/bin/celery" # virtualenv
CELERY_APP="myapp"
CELERYD_MULTI="$CELERYD_CHDIR/manage.py celeryd_multi"

CELERYD_OPTS="--time-limit=300 --concurrency=8 -B"
CELERYD_LOG_FILE=/var/log/celery/%n.log

# Path to celerybeat
CELERYBEAT="$CELERYD_CHDIR/manage.py celerybeat"
CELERYBEAT_LOG_FILE="/var/log/celery/beat.log"
CELERYBEAT_PID_FILE="/var/run/celery/beat.pid"

CELERY_CONFIG_MODULE="settings"

export DJANGO_SETTINGS_MODULE="settings"

Пытаюсь запустить демон celeryd:

/etc/init.d/celeryd start

Выдает:

...
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 132, in __init__
    % (self.SETTINGS_MODULE, e)
ImportError: Could not import settings 'settings' (Is it on sys.path? Is there an import error in the settings file?): No module named settings

Будут какие-нибудь соображения?

 , , ,

Sektor
()

Django и несколько БД

Форум — Web-development

Доброго времени суток, ЛОР!

Вот возник у меня один нетривиальный вопрос. Как использовать несколько баз данных в одном проекте джанго? Прочел https://docs.djangoproject.com/en/dev/topics/db/multi-db/ но нихрена не понял, может кто объяснит новичку в чем, так сказать, соль.

Суть проблемы такова - есть база данных сайта (site_db), подключена она как default, так же есть другая база (accounts_db). Как обращаться к полям базы accounts_db?

Например, есть такая структура (accounts_db):

table_a:
    account_id (primary_key) = 666
    account_name (varchar) = "Bla-bla"

Есть модель для сайта:

class Clients(model.Models):
    client_id = models.IntegerFiled(primary_key = True)

Вот никак не пойму: 1) каким образом можно выбрать все account_id (из таблицы table_a, базы accounts_db и записать это в поле client_id, таблицы clients, базы site_db? 2) Как записать что-либо в баблицу table_a? Есть еще куча вопросов, но это основные.

 , ,

Sektor
()

IredMail

Форум — Admin

Устанавливал ли кто-нибудь сабж под действующим дебиан тестингом?

Получаю вот что:

Release version of the operating system on this server is unsupported by iRedMail

Я так понимаю, что iredmail привязан к пакетам стабильной ветки дебиана. А с jessie работать не хочет(. Как обойти такое ограничение?

И, если нельзя, то может кто-нибудь посоветовать аналоги сабжа?

 , ,

Sektor
()

iredmail on debian jessie

Форум — Web-development

Устанавливал ли кто-нибудь сабж под действующим дебиан тестингом?

Получаю вот что:

Release version of the operating system on this server is unsupported by
iRedMail

Я так понимаю, что iredmail привязан к пакетам стабильной ветки дебиана. А с jessie работать не хочет(. Как обойти такое ограничение?

 , ,

Sektor
()

CSS Opera (left)

Форум — Web-development

Вопрос знатокам:

Есть кнопка feedback'а, прилипшая к левому краю окна браузера.

#un-button.un-left.css3 {
border: 1px solid #c96300;
left:-6px;
top:50%;
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
transform: rotate(-90deg);

transform-origin:0 0 0;
-webkit-transform-origin:0 0 0;
-moz-transform-origin:0 0 0;
-ms-transform-origin:0 0 0;
-o-transform-origin: 0 0 0;
}

#un-button,#un-button:hover {
outline:medium none!important;
}

#un-button {
position:fixed;

opacity:0.9;
-webkit-opacity: 0.9;
-moz-opacity: 0.9;
filter:alpha(opacity=90)

z-index:9997;

text-decoration:none;
color:#fff;

-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;

background-color:#e48700;
font-size:16px;
float:none;

text-shadow:none;
-moz-text-shadow: none;
-webkit-text-shadow: none;
-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=0, Direction=0, Color='#ffffff')";

padding:15px 15px 15px 15px;
}

#un-button:hover {
background-color:#c87602;
}
    <a id="un-button" class="un-left css3" href="#" style="left: -6px;"
       data-toggle="modal"
       data-target="#contactsModal">
      <span class="glyphicon glyphicon-info-sign"></span>&nbsp;&nbsp;&nbsp;
        {% trans "Обратная связь" %}
    </a>

Во всех современных браузерах это выгляжит так: http://i33.fastpic.ru/big/2014/0131/4f/178dcdc60e0951671694630ab238444f.png

А в опрере так: http://i33.fastpic.ru/big/2014/0131/f2/5a1e708d552fe217ed0e488d32e17ff2.png

Почему во всех браузерах, кроме oper'ы координаты отсчитываются одним образом, а в opere (12.16) - другим? Как исправить сей прескорбный баг?

 , ,

Sektor
()

RSS подписка на новые темы