Как я использую десятичное число в шаблоне URL Django?

Принятие Вас спрашивает, почему Вы не можете сделать этого:

public interface IFoo {
    void Bar();
}

public class Foo: IFoo {
    public static void Bar() {}
}

Это не имеет смысла мне, семантически. Методы, определенные в интерфейсе, должны быть там для определения контракта для взаимодействия с объектом. Статические методы не позволяют Вам взаимодействовать с объектом - при нахождении в положении, где реализация могла быть сделана статичной, Вы, возможно, должны спросить себя, если тот метод действительно принадлежит интерфейса.

<час> Для реализации примера я дал бы Животному свойство константы, которое все еще позволит ему быть полученным доступ от статического контекста и возврата, которые оценивают в реализации.
public class Animal: IListItem {
    /* Can be tough to come up with a different, yet meaningful name!
     * A different casing convention, like Java has, would help here.
     */
    public const string AnimalScreenName = "Animal";
    public string ScreenName(){ return AnimalScreenName; }
}

Для более сложной ситуации, Вы могли всегда объявлять другой статический метод и делегировать к этому. В попытке придумывает пример, я не мог думать ни о какой причине, Вы сделаете что-то нетривиальное и в статическом контексте и в контексте экземпляра, таким образом, я сэкономлю Вас блоб FooBar и возьму его в качестве признака, что это не могла бы быть хорошая идея.

8
задан Jason Champion 14 July 2009 в 23:45
поделиться

3 ответа

Это может быть что-то вроде

urlpatterns = patterns('',
   (r'^item/value/(?P<value>\d+\.\d{2})/$', 'myapp.views.byvalue'),
   ... more urls
)

url не должен начинаться с косой черты.

в представлениях вы можете иметь функцию:

def byvalue(request,value='0.99'):
    try:
        value = float(value)
    except:
        ...
17
ответ дан 5 December 2019 в 05:08
поделиться

Если принимаемые значения составляют только 0,01 или 0,05 доллара, шаблон harto может быть указан следующим образом:

r"^/item/value/(\d\.\d{2})$"
3
ответ дан 5 December 2019 в 05:08
поделиться

Я не знаю конкретно о Django, но он должен соответствовать URL-адресу:

r"^/item/value/(\d+\.\d+)$"
14
ответ дан 5 December 2019 в 05:08
поделиться
Другие вопросы по тегам:

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