Django проблем

  1. Здравейте, аз имам проблем с подкарването на Django проект - първо имах проблем с настройването на DJANGO_SETTINGS_MODULE - мисля, че с това се справих като добавих my_python_project.settings, но в момента, ако искам да си пусна примерно тестовете в проекта, получавам ImportError: No module named 'my_python_project'

    During handling of the above exception, another exception occurred:

    ImportError: Could not import settings 'my_python_project.settings' (Is it on sy s.path?): No module named 'my_python_project'

    Ако обаче си изпечатам sys.path, там се съдържа директорията, в която е проектът my_python_project. Някакви идеи какво в настройките съм объркала?

  2. DJANGO_SETTINGS_MODULE би трябвало да се настройва от django-admin.py. Когато стартираш проект, трябва да създаде съответните файлове, включително и my_python_project/my_python_project/settings.py и да си настрои всички променливи за проекта. не би трябвало ти да добавяш settings модули. docs

    Да си задам и аз моя въпрос - Как се правят повече инстанции на един application и какво представляват ?

  3. @Мария, ако имаш такива проблеми, вероятно си вършила странни неща, след като си стартирала проекта или просто не си го стартирала с django-admin.py командата, а с разни bootstrap проекти.

    Да си задам и аз моя въпрос - Как се правят повече инстанции на един application и какво представляват ?

    Разгледай django.contrib.sites. Имаш опцията и да ползваш различни бази за различните инстанции.

  4. И аз имам въпрос. След опит да подкарам проекта с python3 забелязах следното:
    $ python -c "import django; print(django.get_version())"
    1.5.1
    $ python3 -c "import django; print(django.get_version())"
    Traceback (most recent call last):
    File "", line 1, in
    ImportError: No module named 'django'

    Опитах да го реша с някаква виртуална среда, в която стартирам проекта, но пак се получава същото.

  5. Нямаш django пакета в /usr/local/lib/python3.*/dist-packages/django.

    За версия 2, трябва да е в /usr/local/lib/python2.7/dist-packages/django.

    Ако го инсталираш с pip, увери се, че е с pip /usr/local/lib/python3.*/dist-packages/pip, а не с pip от /usr/local/lib/python2.7/dist-packages/pip.

    Ако го инсталираш с tar xzvf Django-1.5.1.tar.gz cd Django-1.5.1 sudo python setup.py install използвай python3 setup.py вместо python setup.py.

  6. Имам въпрос относо OneToOneField. Едно към едно не означава ли биекция, т.е. не може да имаш два обекта от едната страна, които да сочат един и същ обект от другата.

    class Edno(models.Model):
        name = models.CharField(max_length=50)
    
        def __unicode__(self):
            return self.name
    
    class Dve(models.Model):
        name = models.CharField(max_length=50)
        rel = models.OneToOneField(Edno)
    
        def __unicode__(self):
            return self.name
    

    в shell: >>> from asd.models import Edno, Dve >>> e1 = Edno(name='e1') >>> e2 = Edno(name='e2') >>> e1.save() >>> e2.save() >>> d = Dve(name='d') >>> d.rel = e1 >>> d.save() >>> e1.save() >>> e1.dve <Dve: d> >>> d.rel = e2 >>> d.save() >>> e2.save() >>> d.rel <Edno: e2> >>> e2.dve <Dve: d> >>> e1.dve # Това не трябва ли да показва, че няма обект или None <Dve: d> #

  7. Въпрос - имам поле в даден модел, което е property: property_name = property(get_property) Това get_property е callable.Върпоса ми е има ли как да дам verbose_name на това property_name и как да го вкарам в списъка с полета fields на някои fieldset на ModelAdmin наследник ?

  8. Имам клас Student, който налседява django.contrib.auth.models.User. Съответно в admin.py дерегистрирам и регистрирам наново User със съответния UserAdmin. Използвам django.contrib.auth.views.login.При login се логват само администраторски акаунти, ако опитам да логна студент => невалидни име и парола.Как да го накарам да логва и студенти. github

  9. Подаваш името на property-то на ModelAdmin.list_display и би трябвало да сработи.

    Правиш го грешно. В Django 1.5 можеш да избегнеш този момент със създаването на user, който да се налага да наследяваш и прочее:

    https://docs.djangoproject.com/en/1.5/topics/auth/customizing/

    П.П.: Именоваш ужасно. Името на проекта и някои от view-тата са ти в camelCase.

Трябва да сте влезли в системата, за да може да отговаряте на теми.