• Объясните, как работают сессии в django?

    @deliro
    Отвечаю на "левый вопрос", т.к. основной я не понял:
    По-умолчанию при удалении объекта, связанные объекты удаляются каскадом. Это значит, что сначала, при удалении юзера, все объекты, которые ссылались на этого юзера будут удалены, затем удалятся все объекты, которые ссылались на любой из только что удалённых объектов и так далее.

    Изменить это поведение можно, передав keyword аргумент on_delete в модель:
    author = models.ForeignKey(User, blank=True, null=True, on_delete=models.SET_NULL)


    Подробнее про все варианты on_delete читай здесь: https://docs.djangoproject.com/en/1.10/ref/models/...
    Ответ написан
    2 комментария
  • ,django не видит приложение mptt, как исправить?

    fox_12
    @fox_12 Куратор тега Django
    Расставляю биты, управляю заряженными частицами
    pip install django-mptt

    settings.py
    INSTALLED_APPS = (
        ...
        'mptt',
        ...
    )

    Ну и вообще - проверьте - делаете ли вы эту операцию из-под виртуального окружения, где вы развернули django-cms ?
    Ответ написан
    Комментировать
  • ,django не видит приложение mptt, как исправить?

    Voskresenskyi
    @Voskresenskyi
    Начинающий джанговод!
    а в сетингс.пай прописали?!
    Ответ написан
    Комментировать
  • Объясните как настроить статику Django?

    @deliro
    По-хорошему, у тебя для каждого app-а своя статика. Структура будет примерно такой:
    src/
    - project/
    - - settings.py
    - - wsgi.py
    - someapp/
    - - templates/
    - - - someapp/
    - - - - hello.html
    - - static/
    - - - css/
    - - - - bootstrap.min.css
    - - - js/
    - - - - app.js


    Естественно, nginx не хочет гонять по каждому твоему аппу в поисках статики. Поэтому на продакшене вся статика собирается в одну папку STATIC_ROOT из всех твоих STATICFILES_DIRS командой collectstatic.
    Ответ написан
  • Почему продолжается подставление слеша в url?

    Tark
    @Tark
    Pyramid'альный мир
    Flask’s URL rules are based on Werkzeug’s routing module. The idea behind that module is to ensure beautiful and unique URLs based on precedents laid down by Apache and earlier HTTP servers.

    Take these two rules:
    
    @app.route('/projects/')
    def projects():
        return 'The project page'
    
    @app.route('/about')
    def about():
        return 'The about page'

    Though they look rather similar, they differ in their use of the trailing slash in the URL definition. In the first case, the canonical URL for the projects endpoint has a trailing slash. In that sense, it is similar to a folder on a filesystem. Accessing it without a trailing slash will cause Flask to redirect to the canonical URL with the trailing slash.

    In the second case, however, the URL is defined without a trailing slash, rather like the pathname of a file on UNIX-like systems. Accessing the URL with a trailing slash will produce a 404 “Not Found” error.
    _____________
    И раньше, когда я еще не проводил через такой роут /<int:info>/, к примеру, 3 То подстановки не было, а после есть. (с) - что это значит?

    Если у вас сейчас путь без слеша перенаправляется на путь со слешем, то это, к сожалению, кеш браузера. Меня очень раздражало в Flask, что приходилось постоянно использовать декоратор "nocache", описанный в самой документации, чтобы страница генерировалась заново при каждом обращении.

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

    Daniro_San
    @Daniro_San
    Программист
    Никак

    Знающий не говорит, говорящий не знает (Лао Цзы)


    Просто участвуй в олимпиадах. Пытайся. Снова и снова. И наконец, тебе должно по настоящему нравится решать олимпиадные задачки, иначе все твои усилия будут бесполезны.

    От себя скажу что решать олимпиады по программированию != Хорошо программировать

    Говорю как человек в оных регулярно участвующий.

    Олимпиады приучают ко всем антипаттернам, ограничения по времени не дают найти красивое и изящное решение, заставляют копипастить и писать "лишь бы работало".

    Не веришь? Посмотри любые решения олимпиадников - на codeforces.com например.
    Там по всем стандартам ад и ужас.

    Лучше потратить время на что то действительно полезное, например на свой проект, разработка которого только в радость.
    Ответ написан
    Комментировать
  • Как развиваться новичку в c# и направлении разработки приложений под win?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Недавно я отвечал на другой вопрос: Программа «Информационное окно» для компьютеров в локальной сети?, почитайте, что я отвечал.

    Возьмите маленькую задачку, и постарайтесь не просто сделать программу, но сделать правильно, используя различные технологии разработки. Для начала сделайте программку, которую можно сделать за недельку, потому что нанопрограммки за день вас уже не научат сильно.
    Сделайте пару UserControl-ов - вы научитесь разделять большую программу на маленькие части.
    Код этих юзер-контролов используйте с помощью вьюмодели, не пишите код в xaml.cs-файле.
    Освойте свойства зависимости - что это такое, и когда они нужны, а когда можно и без них. Без них сделать хороший юзер-контрол не получится.
    Создавайте события для связи между разными юзер-контролами, если по другому не обойтись.
    Используйте LINQ.
    Установите Resharper (бесплатный EAP).
    Используйте Git, даже для своего минипроекта. Научитесь разделять задачу на подзадачи, и каждую подзадачу комитьте. (Вполне нормально делать несколько коммитов в день)
    Читайте книги, статьи. Каждый день читайте хабрахабр.
    Ни дня без строчки кода :) Есть только один способ стать хорошим программистом - много писать кода.

    Мой ответ получился не про то, что делать прямо сейчас, а про то, как развиваться дальше. Многие из советов относятся не к разработке Win-приложений, и даже не к C#. Но уже через полгода вы станете заметно лучшим программистом.
    Если вы не знаете, какую задачу начать сделать - спросите, подскажем.
    Ответ написан