LINUX.ORG.RU

Сообщения djnoob

 

Странная ошибка. Django!

Разъяcните кто-нибудь, пожалуйста, как побороть столь досадную ошибку.

корневой urls.py

urlpatterns = patterns('',
    ...
    url(r"projects/", include("apps.tasks", namespace="projects")),
)

apps/tasks/urls.py

...
urlpatterns = patterns('',
    url(r"^(?P<project_id>\d+)/$", ProjectDetail.as_view(), name="project_detail"),
)

index.html

{% extends "base.html" %}

{% load staticfiles %}


{% block container %}
...

      {% if projects_list %}
        <div class="list-group">
          {% for project in projects_list %}
            <a class="list-group-item" href="{% url 'projects:project_detail' project.id %}">
              {{ project.name }}
            </a>
        {% endfor %}
        </div>
      {% endif %}

...
{% endblock %}

При переходе на главнуюстраницу Django выдает странную ошибку:

ImproperlyConfigured at /

The included urlconf '<module 'apps.tasks' from 
'/Volumes/UserData/xxx/data/project_name_venv/project/apps/tasks/__init__.pyc'>' 
does not appear to have any patterns in it. 
If you see valid patterns in the file then the issue is probably caused by a circular import.

 ,

djnoob
()

Templayed.js отпендерить шаблон.

Всем привет. Только начал работать с шаблонозаторами javascript и сразу уперся в проблему - не ясно как, собственно, рендерит эти шаблоны. В качетсве шаблонизатора использую templayed.js, так как, по заявлениям авторов, он мал и быстр.

Имею файл с описанием шаблонов и переменных:

templates.js

var templates = [
    {
        template: "<h1>My name is {{name}}!</h1>",
        variables: {name: "Vasia Pupkin"}
    }
];

Как мне его отрендерить в блоке #main-conten:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
    <meta name="keywords" content="" />
    <meta name="description" content="" />
    <meta name="author" content="" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <script type="text/javascript" src="templayed.min.js"></script>
    <script type="text/javascript" src="templates.js"></script>
  </head>

  <body>
    <div id="main-content">
    </div>
  </body>

</html>

 , ,

djnoob
()

Django одновременно отправить и объекты модели и данны json в шаблон?

Всем привет.

Не спрашивайте меня, зачем)!

Нужно одновременно и отрендерить шаблон и получить в этом же шаблоне копии данных в формате JSON. Как, собственно, такое провернуть в Django? Или, какие варианты посоветуете?

 , ,

djnoob
()

Django, кастомизация виджета для каптчи!

Всем привет!

Подскажите, кто сталкивался, как можно выставить атрибуты для виджета django-simple-captcha?. Там как бы два поля: текстовое и графическое (сама картинка). Я использую свои классы для text input. Для этого, я так понимаю, нужно выставить атрубуты у соответствующего виджета. Но как такое сделать для каптчи?

forms.py:

class FormOrder(forms.Form):
    name = forms.CharField(
        max_length=64, required=True, widget=forms.TextInput(
            attrs={
                "placeholder": u"Имя", "type": "text", "class": "form-control", "id": "bf_name", "name": "bf_name"
            }
        ),
    )
    email = forms.CharField(
        max_length=64, required=True, widget=forms.TextInput(
            attrs={
                "placeholder": u"Контактный email", "type": "email", "class": "form-control",
                "id": "bf_email", "name": "bf_email"
            }
        ),
    )
    telephone = forms.CharField(
        max_length=32, required=True, widget=forms.TextInput(
            attrs={
                "placeholder": u"Телефон", "type": "text", "class": "form-control",
                "id": "bf_phone", "name": "bf_phone"
            }
        ),
    )
    is_recall = forms.BooleanField()
    is_price = forms.BooleanField()


    captcha = CaptchaField(required=True, widget=forms.TextInput(
        attrs={
            "type": "text", "class": "form-control",
        }),
    )

 , , , ,

djnoob
()

Apache, не «цепляется сайт»!

Всем привет!

Кто подскажет, в чем может быть проблема?

Создаю конф. файл для сайта (для apache) с именем mysite.conf, где создаю виртуальный хост, описываю корнивую директорию и т.д. и т.п.

<VirtualHost *:80>
        ServerAdmin admin@example.ru
        ServerName mysite.ru
        ServerAlias www.mysite.ru
        DocumentRoot /var/www/mysite

        ...

</VirtualHost>

«Включаю» сайт a2ensite mysite.conf - все ок, конфиг схавывается без проблем. Рестартую апач, захожу по mysite.ru и вижу:

It works!

This is the default web page for this server.

The web server software is running but no content has been added, yet.

Почему apache не «цепляет сайт», а загружает что-то дефолтное? В логах апача - ничего, чтобы могло дать каку-либо наводку.

файл /etc/hosts (ip и адрес сайта вымышлены):

fe00::0         ip6-localnet
ff00::0         ip6-mcastprefix
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

127.0.0.1        localhost.localdomain localhost
666.66.666.66   mysite.ru
::1     localhost ip6-localhost ip6-loopback

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

 , , , ,

djnoob
()

Создание django-tastypie api!

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

Начал разбираться с django-tastypie. Есть один неочевидный для меня момент - как с помощью данной библиотеки реализовать выборку связанны объектов?

Например, существует модель:

models.py

Product(model.Models):
    title = models.CharFied(...)
    ...

Property(model.Models):
   ...
   product = models.ForeignKey(Product)

Как, собственно, оформить resources.py, чтобы выбирались все свойства продукта с id=1?

Подскажите хотябы место в офф. докухе, где об этом почитать можно, а то уже совсем отчаялся(. Заранее, спасибо.

 , ,

djnoob
()

Посоветуйте «инструмент»

Всем привет!

Решил спроси совета у достопочтеннейшей аудитории по поводу выбора прогграммного инструмента для реализации онлайнового, визуального, конструктора/редактора текстовых слоев (по сути нужно «натягивать» поверх произвольного фонового изображения слои с текстом).

Как пример, приближенный к моей задаче, можно рассматривать сайт - http://www.printclick.ru/online/?id=7007. Я так понимаю, на клиента там применяется html5 canvs. Может кто подскажет, какой фреймворк или библиотека лучше на ваш взгляд подходит для реализации подоного редактора.

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

 , ,

djnoob
()

django-front - не сохраняются изменения!

DJANGO_FRONT_PERMISSION = lambda u: u and u.is_active
DJANGO_FRONT_EDIT_MODE = 'inline'
DJANGO_FRONT_EDITOR_OPTIONS = {
    'imageUpload': '/img/'
}
DJANGO_FRONT_ALLOWED_EDITORS = ['ace', 'ace-local', 'wymeditor', 'redactor', 'epiceditor', 'ckeditor', 'default']

шаблон:

<script src="//cdn.ckeditor.com/4.4.4/standard/ckeditor.js"></script>
{% front_edit_scripts editor="ckeditor" %}
...

<div class="editable" id="test">
  {{ page.body|safe }}
</div>

По нажатию на кнопку save изменения появляются. Однако, после перезагрузки страницы изменения куда-то деваются, остается старый контент. А если попробовать редактированть два или более раз последовательно, то ckeditor вообще куда-то пропадает.

Что за хрень? Почему django-front не пишет изменения в ДБ? И как им вообще пользоваться? Есть у кого-нибудь удачный опыт его использования?

 ,

djnoob
()

Парсинг объекта json

Всем привет!

Есть json-объект:

{
  "full": {
      "background": {
          "type": "background",
          "texture_file": "full/bg/background.jpg",
          "rect_x": 0,
          "rect_y": 0
      }
  },
  "wide": {
      "background": {
          "type": "background",
          "texture_file": "wide/bg/background.jpg",
          "rect_x": 0,
          "rect_y": 0
      }
  },

  "walls": {
      "wall_0": {
          "texture_file": "walls/wall_0.png",
          "rect_x": 0,
          "rect_y": 500
      },
      "wall_1": {
          "texture_file": "walls/wall_0.png",
          "rect_x": 64,
          "rect_y": 500
      },
      "wall_2": {
          "texture_file": "walls/wall_0.png",
          "rect_x": 128,
          "rect_y": 500
      },
      "wall_3": {
          "texture_file": "walls/wall_0.png",
          "rect_x": 192,
          "rect_y": 500
      },
      "wall_4": {
          "texture_file": "walls/wall_0.png",
          "rect_x": 256,
          "rect_y": 500
      },
      "wall_5": {
          "texture_file": "walls/wall_0.png",
          "rect_x": 320,
          "rect_y": 500
      }
  }

}

Как мне рекурсивно получить доступ к объектам «wall_n». Итератор типа:

...
json_obj = json.load(my_data)
wall_loop = 0
for wall in json_obj["walls"]:
   print(wall["wall_%s" % wall_loop])
   wall_loop += 1

Не работает

 , , ,

djnoob
()

Не создается виртуальное окружение!

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

После dist-upgrade не могу создать виртуальное окружение python (v2.7.x).

$ virtualenv test                                                                                            1 ↵
Running virtualenv with interpreter /usr/local/bin/python2
New python executable in test/bin/python2
Not overwriting existing python script test/bin/python (you must use test/bin/python2)
Installing setuptools, pip...
  Complete output from command /home/djnoob/test/bin/python2 -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip:
  Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/__init__.py", line 60, in <module>
  File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/util.py", line 18, in <module>
  File "/home/djnoob/test/lib/python-wheels/distlib-0.1.9-py2.py3-none-any.whl/distlib/version.py", line 14, in <module>
  File "/home/djnoob/test/lib/python-wheels/distlib-0.1.9-py2.py3-none-any.whl/distlib/compat.py", line 31, in <module>
ImportError: cannot import name HTTPSHandler
----------------------------------------
...Installing setuptools, pip...done.
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 2378, in <module>
    main()
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 830, in main
    symlink=options.symlink)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 1032, in create_environment
    install_wheel(to_install, py_executable, search_dirs)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 975, in install_wheel
    'PIP_NO_INDEX': '1'
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 917, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /home/djnoob/test/bin/python2 -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip failed with error code 1

Пробовал гуглить - ничего адекватного. Система debian sid, пакеты python-virtualenv и python-pip стоят.

WTF?

 , ,

djnoob
()

Djnago + Backbone

Всем привет!

Изучаю связку Django + Backbone.

Тривиальная задача - забрать json-объект по url и распарсить его на клиенте, использую backbone. Для простоты, я пока не использую django-tastypie и прочие штику.

views.py:

def getSample(request):
    sample_data = [ { "id": "12345", "firstname": "Peter", "lastname": "Brduch", "age": 24 } ]
    res = {"models": sample_data}
    json_obj = json.dumps(res)
    return HttpResponse(json_obj)

urls.py

urlpatterns = patterns('',
    ...
    url( r"^test/", getSample, name="getSample" ),
    url(r"^media/(?P<path>.*)$", "django.views.static.serve", {"document_root": settings.MEDIA_ROOT}),
)
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

шаблон index.html

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="author" content="">
    <meta name="description" content="">
    <meta name="keywords" content="">
    <meta name="csrf-token" content="{{csrf_token}}">

    <link rel="shortcut icon" href="{{STATIC_URL}}img/favicon.ico">

    <title>Test</title>

    <link href="{{ STATIC_URL }}css/bootstrap.min.css" rel="stylesheet">
    <link href="{{ STATIC_URL }}css/custom.css" rel="stylesheet">

    <script type="text/template" id="user-list-template">
      <table class="table">
        <tbody>
          <% _.each(users, function(user) { %>
            <tr>
              <td><%= user.get("firstname") %></td>
              <td><%= user.get("lastname") %></td>
              <td><%= user.get("age") %></td>
            </tr>
          <% }) %>
        </tbody>
      </table>
    </script>

    <script src="{{ STATIC_URL }}js/jquery-2.1.1.min.js"></script><!-- v2.1.1 -->
    <script src="{{ STATIC_URL }}js/underscore-min.js"></script><!-- v1.6.0 -->
    <script src="{{ STATIC_URL }}js/backbone-min.js"></script><!-- v1.1.2 -->

</head>

<body>

  <div id="main_container">

    <div class="container">
      <h1>Test</h1>
      <hr>
      <div class="content"></div>
    </div>

    <div id="error_block"></div>
    <div id="success_block"></div>

  </div>
  <script type="text/javascript" src="{{ STATIC_URL }}js/main.js"></script>

</body>

</html>

<!-- EOF -->

main.js

$.ajaxPrefilter( function( options, originalOptions, jqXHR ) {
    options.url = 'localhost:8000' + options.url;
});

var Users = Backbone.Collection.extend({
    url: "/test"
});

var UserList = Backbone.View.extend({
    el: ".content",
    render: function() {
        var that = this;
        var users = new Users();
        console.log(users);
        users.fetch({
            success: function() {
                console.log("SUCCESS!!!");
                var template = _.template( $("#user-list-template").html(), {users: users.models} );
                that.$el.html(template);
            },

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


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

var userlist = new UserList();

var router = new Router();

router.on('route:home', function() {
    userlist.render();
});

Backbone.history.start();

Делаю:

$ curl localhost:8000/test/

Получаю OK:

{"models": [{ "id": "12345", "firstname": "Peter", "lastname": "Brduch", "age": 24 }]}

Но через Джангу не работает. В консоле пишет:

Object { length: 0, models: Array[0], _byId: Object } main.js:148

"ERROR!!!"

Подскажите, как корректно выполнить задачу? Что я делаю не так? Может у кого есть пример приложения Django + backbone?

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

 , , ,

djnoob
()

Помогите отцентрировать блоки по горизонатил!

Вот уже часа два бюсь с проблемой центрирования блоков (расположенных внутри другого блока) по горигонтали.

css-свойтво: margin: 0 auto; не помогает.

Как победить без использования offset'ов?

http://jsfiddle.net/nhJSa/1/

 ,

djnoob
()

Работа с массивом DOM-объектов (JQuery)!

Сделал селект всех элементов по классу и поместил их в массив.

При попытке отобразить первый элемент массива - получаю ошибку --- метод show не найден!

В чем может быть проблема?

http://jsfiddle.net/hZ7sP/1/

 ,

djnoob
()

Apache автоматический редирект!

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

Есть основной домен - example.com. Есть web-морда для почтового сервера - roundecube, которая должна быть доступна по example.com/mail

Так вот, проблема такая, когда в браузере захожу на examle.com, то меня автоматически перенаправляет на example.com/mail!

Как убрать данный редирект, чтобы основной сайт был доступен по example.com, а почта по example.com/mail?

Конфиги:

<VirtualHost *:80>

    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example_com

    ...

</VirtualHost>

roundecube.conf

Alias /mail "/usr/share/apache2/roundcubemail/"
<Directory "/usr/share/apache2/roundcubemail/">
    Options -Indexes
</Directory>
Заранее, спасибо.

 , , , ,

djnoob
()

Поделитесь идеями!

Всем привет!

Нужно создать интернет-магазин, где товары (какая неожиданность) обладают некоторым набором характеристик. Все товары объединяются в подкатегории, а подкатегории, в свою очередь объединяются в еще одни категории (надкатегории). Короче, классическая древовидная структура типа:

---Электростимуляторы
------Мультивидраторы
---------Модель вибратора (сам товар)

Так вот, у каждого товара какой-либо подкатегории уникальный набор свойств, которые представляют собой пары «ключ-значение», т.е. название характеристики и значение этой характеристики.

Но задавать модели свойств товаров для каждой подкатегории - дело гиблое (ибо категорий больше сотни, а свойств около 10 в каждой категории). Создавать же общую модель для свойств товара, чтобы вручную прописывать название свойства тоже не выход, по причине большой траты времени на это. Пытался заполнять поля моделей характеристик дефолтными значениями с использованием fixtures - не вышло, ибо не создает новую модель, а определяет значения полей уже существующей.

Посему вопрос: какие есть в django средства для автоматического заполнения полей дефолтными значениями. т.е. нужно для каждой подкатегории автоматически заполнять название характеристик, а значения этих харакеристик для каждого товара вводить уже вручную. Есть идеи как такого добиться?

 ,

djnoob
()

Django admin tools (theming)

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

Такая проблема. django-admin-tools не находит мои стили.

settings.py

...
INSTALLED_APPS = (
    'admin_tools',
    'admin_tools.theming',
    'admin_tools.menu',
    'admin_tools.dashboard',

    ...
)

...

TEMPLATE_CONTEXT_PROCESSORS = (
    "django.contrib.auth.context_processors.auth",
    "django.core.context_processors.debug",
    "django.core.context_processors.i18n",
    "django.core.context_processors.media",
    "django.core.context_processors.static",
    "django.core.context_processors.request",
    "django.contrib.messages.context_processors.messages"
)

STATIC_URL = "/static/"
STATIC_ROOT = os.path.join(BASE_DIR, "static")

MEDIA_URL = "/media/"
MEDIA_ROOT = os.path.join(BASE_DIR, "media")

TEMPLATE_DIRS = (
    os.path.join(BASE_DIR, "templates/"),
)

ADMIN_TOOLS_MENU = "admin_files.menu.CustomMenu"
ADMIN_TOOLS_INDEX_DASHBOARD = "admin_files.dashboard.CustomIndexDashboard"
ADMIN_TOOLS_APP_INDEX_DASHBOARD = "admin_files.dashboard.CustomAppIndexDashboard"
ADMIN_TOOLS_THEMING_CSS = "css/theming.css"

Админка работает - все норм, только мой стиль (theming.css), находящийся в project_root/static/css/theming.css не подгружает, пишет ошибку 404!

Все делал по офф. доке - http://django-admin-tools.readthedocs.org/en/latest/configuration.html

WTF, господа?

P.S. django-admin-tools (v0.5.1), Django (v1.6.5)

 , ,

djnoob
()

Django и права пользователей

У меня вопрос к знатокам). Как в джанге создать пользователя с правами только для просмотра модлей в админке? Чтобы он мог только просматривать, а не создавать, удалять и редактировать.

 ,

djnoob
()

Не перекрываются блоки!

Всем привет!

Нужно поместить блок main container под слайдер. Онако, z-index - не отрабатывается.

http://jsfiddle.net/a6uJe/

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

 , , ,

djnoob
()

Backbone.js

Помогите советом, почему не отрабатвается метод success в render TaskList?

[code=javascript]
/*******************************************************************************
GET_DATA SECTION
*/
$.ajaxPrefilter(function( options, originalOptions, jqXHR ) {
// options.url = 'http://backbonejs-beginner.herokuapp.com' + options.url;

var token;
options.xhrFields = {
withCredentials: true
};
token = $('meta[name=«csrf-token»]').attr('content');
if (token) {
return jqXHR.setRequestHeader('X-CSRF-Token', token);
}

options.url = "http://localhost:8000" + options.url;
console.log(options.url);
});
/********************************************************************************/


/*******************************************************************************
COLECTIONS SECTION
*/
var Tasks = Backbone.Collection.extend({
url: «/api/v1/test/?format=json»
});
/********************************************************************************/


/*******************************************************************************
VIEW SECTION
*/
var TasksList = Backbone.View.extend({

el: ".content",

render: function() {
var render_this = this;
var tasks = new Tasks();
tasks.fetch({
success: function() {
console.log(«success»);
render_this.$el.html(«<b>Item: » + tasks +«</b>»);
},
error: function() {
console.log(«error»);
}
});

}

});

var taskList = new TasksList();
/********************************************************************************/


/*******************************************************************************
ROUTER SECTION
*/
var Router = Backbone.Router.extend({

routes: {
"": «index»,
«edit/:id»: «edit»,
«delete/:id»: «delete»,
«new/»: «new»
},

index: function() {
console.log(«Hello, Index Page!»);
taskList.render();
}

});

var router = new Router();
/*******************************************************************************/


Backbone.history.start();

// EOF
[/code]

Данные я получаю в tasks (они есть), но success не отрабатывается. WTF, господа?

 , , ,

djnoob
()

Посоветуйте файловую систему для сетевого файлового хранилица

Собственно, САБЖ.

Минимальная склонность к фрагментации, надежность, скорость работы с файлами средних и больших размеров, доступ к файлохранилищу как из-под lin, так и из-под win-систем.

 

djnoob
()

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