Нечувствительные к регистру URL для Django?

Я использую атрибут android:textColor="" для TextViews и теперь работал правильно. Я не знаю, почему цвет текста по умолчанию не работает на некоторых устройствах.

38
задан Mr. Napik 3 December 2015 в 12:44
поделиться

2 ответа

Просто поместите (? I) в начало каждой r '...' строки, то есть:

urlpatterns = patterns('',
(r'^(?i)admin/(.*)', admin.site.root),
(r'^(?i)static/(?P<path>.*)$', 'django.views.static.serve',
    {'document_root': settings.STATIC_DOC_ROOT, 'show_indexes': True}),
(r'^(?i)login/$', 'django.contrib.auth.views.login'),
(r'^(?i)logout/$', do_logout),
)

, чтобы сообщить каждому RE для соответствия без учета регистра - и, конечно же, жить долго и счастливо! -)

88
ответ дан 27 November 2019 в 03:13
поделиться

Вы могли также управлять этим от своего представления. Например, если у Вас есть дженерик. DetailView, Вы могли переопределить метод get_queryset и установить значение краткого заголовка к нижнему регистру:

models.py:

from django.db import models
from django.utils.text import slugify


class MyModel(models.Model):
    """MyModel

    """  
    # name attribute is used to generate slug
    name = models.CharField(max_length=25, verbose_name='Name', unique=True)

    slug = models.SlugField(unique=True, verbose_name='Slug')

    # override save method to generate slug
    def save(self, force_insert=False, force_update=False, using=None,
             update_fields=None):
        self.slug = slugify(self.name)
        super(MyModel, self).save(force_insert=False, force_update=force_update, using=using, update_fields=update_fields)


views.py:

from django.views import generic


class MyModelDetailView(generic.DetailView):
    """MyModelDetailView

        Detail view of MyObject.
    """

    model = MyModel
    template_name = 'my_models/my_model_detail.html'

    def get_queryset(self):
        try:
            self.kwargs['slug'] = self.kwargs['slug'].lower()
        except Exception as err:
            print(err)
            pass

        queryset = self.model.objects.filter()
        return queryset

urls.py:

from . import views
from django.conf.urls import url

    url(r'^my_model_detail/(?P<slug>[-\w]+)/, views.MyModelDetailView.as_view(),
        name='my_model_detail'),
0
ответ дан 27 November 2019 в 03:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: