В прошлый раз я спросил, как сгенерировать URL-адрес с похожим маркетологом, начиная с идентификатора, который вы мне сказали, что лучше использовать слизни для этого. В это время я хочу создавать динамические URL-адреса с помощью пули. Моя цель получить этот результат:Создание выделенных URL-адресов с помощью пули
У меня есть пять продуктов, которые я назвал карточками в models.py (Ysera, Neltharion, Nozdormu, Alexstrasza, Malygos). Мне нужен соответствующий URL-адрес каждого из продуктов:
локальный: 8000/карты/Исера
локальный: 8000/карты/Нелтарион
локальный: 8000/карты/Ноздорму ... и т.д.
Я пытаюсь сгенерировать эти URL-адреса, но я не знаю, хорошо ли я применял команды, либо я не знаю, как я могу указать идентификационную карту, как основное имя карты (ysera, neltharion ...) , Я пытался следовать ответ размещенные здесь, в этом сообществе немного слепой, и это мой «реконфигурация»:
Вот мой views.py:
from django.shortcuts import render_to_response
from django.template import RequestContext
from dracoin.apps.synopticup.models import card
from dracoin.apps.home.forms import ContactForm,LoginForm
from django.core.mail import EmailMultiAlternatives
from django.contrib.auth import login,logout,authenticate
from django.http import HttpResponseRedirect
def shop(request):
tarj = card.objects.filter(status=True)
ctx = {'tarjetas':tarj}
return render_to_response('home/shop.html',ctx,context_instance=RequestContext(request))
def singleCard(request, slug, id):
try:
tarj = card.objects.get(slug=slug, id=id_tarj)
except ObjectDoesNotExist:
tarj = get_object_or_404(card, id=id_tarj)
return render_to_response('home/singleCard.html',ctx,context_instance=RequestContext(request))
Мой urls.py (У меня есть URL. ру для каждого приложения и основной urls.py):
url(r'^card/(?P<slug>[-\w]+)/(?P<id_tarj>\d+)/$','dracoin.apps.home.views.singleCard',name='vista_single_card'),
Мой models.py:
class card(models.Model):
nombre = models.CharField(max_length=100)
descripcion = models.TextField(max_length=300)
status = models.BooleanField(default=True)
def __unicode__(self):
return self.nombre
Мой общий шаблон для всех карты:
{% extends 'base.html' %}
{% block title %} Tarjeta {{card.nombre}} {% endblock %}
{% block content %}
<h1>{{ card.nombre }}</h1><br>
<p> {{ card.descripcion }}</p>
{% endblock %}
Я не знаю, если мой пробкового здание в views.py было найти, я убежден, что urls.py это плохо, но я не знаю, как строить?
пожалуйста, простите меня, если я изменить свой собственный вопрос, чтобы продлить его, Недавно я пытался узнать Джанго на моей стороне, и у меня есть много пробелов в моем обучении
apologizeme заранее мой обширный вопрос, и если я упускать из виду что нибудь.
Спасибо!
1) Кажется, что у вас нет поля под названием «slug» в вашем классе карты. 2) Появляется ли сообщение об ошибке? Если что-то не работает, вам лучше описать, как это не получается :) – Tony
дальше, чтобы описать ошибку, я хочу знать, какие части моих конфигураций имеют сбои или, с другой стороны, что я игнорирую.Я знаю, что у меня много настроек в моей конфигурации, я стараюсь следовать двум ответам здесь, но это мой результат :( – Jhonny
Просто совет: попробуйте задать вопросы, подобные этому, с определенным сообщением об ошибке, и включите ваш код в качестве дополнительной информации. ваш случай кажется, что вы забыли включить поле [slug] (https://docs.djangoproject.com/en/1.7/ref/models/fields/#slugfield) в определение модели. (Вы пытаетесь получить карта с помощью пули, но ваша модель карты не определяет поле пули.) – Tony