Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用slug生成专用URL_Python_Django_Django Views_Url Routing_Slug - Fatal编程技术网

Python 使用slug生成专用URL

Python 使用slug生成专用URL,python,django,django-views,url-routing,slug,Python,Django,Django Views,Url Routing,Slug,我在过去的时间里问过如何生成一个url,该url具有类似的特征,从您告诉我的ID开始,最好使用slug来实现。这一次我想用slug生成dinamics URL。我的目标是获得以下结果: 我有五种产品在models.py中命名为cards(伊塞拉、内萨里奥、诺兹多尔姆、阿列克斯特拉萨、马利戈斯)。我需要每个产品的相应url: 本地主机:8000/卡/ysera 本地主机:8000/卡/neltharion 本地主机:8000/卡/诺兹多姆。。。等等 我尝试生成这些URL,但我不知道我是否很好地应用

我在过去的时间里问过如何生成一个url,该url具有类似的特征,从您告诉我的ID开始,最好使用slug来实现。这一次我想用slug生成dinamics URL。我的目标是获得以下结果:

我有五种产品在models.py中命名为cards(伊塞拉、内萨里奥、诺兹多尔姆、阿列克斯特拉萨、马利戈斯)。我需要每个产品的相应url:

本地主机:8000/卡/ysera

本地主机:8000/卡/neltharion

本地主机:8000/卡/诺兹多姆。。。等等

我尝试生成这些URL,但我不知道我是否很好地应用了命令,或者我不知道如何将id卡指定为卡的主名称(伊塞拉,内塔里昂…)。我试图在这个社区中找到一个有点盲目的答案,这是我的“重新配置”:

这里是my 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))
My urls.py(我有一个应用程序URL.py和主URL.py):

我所有卡的通用模板:

{% extends 'base.html' %}
{% block title %} Tarjeta {{card.nombre}} {% endblock %}
{% block content %}

<h1>{{ card.nombre }}</h1><br> 
<p> {{ card.descripcion }}</p>        

{% endblock %}
{%extends'base.html%}
{%block title%}Tarjeta{{card.nombre}}{%endblock%}
{%block content%}
{{card.nombre}}
{{card.descripion}}

{%endblock%}
我不知道我在views.py中的slug构建是否找到了,我确信url.py不好,但我不知道如何构建它

请原谅,如果我编辑我自己的问题来延长它,最近我试图在我身边学习django,我在学习上有很多差距

如果我忽略了什么,请提前向我道歉

谢谢

这一行:

tarj=card.objects.get(slug=slug,id=id\u tarj)

尝试加载
对象,其中
id
字段设置为is
id\u tarj
,而
slug
字段设置为
slug
。您的模型没有名为
slug
的字段。您需要添加一个

一个很好的候选者应该是
SlugField
-


在每种情况下,您都需要确保slug字段包含正确的值

1)您的卡类中似乎没有名为“slug”的字段。2) 你收到错误信息了吗?如果有些东西不起作用,你应该更好地描述它是如何失败的:)除了描述一个错误,我想知道我的配置的哪些部分出现了故障,或者另一方面我忽略了什么。我知道在我的配置中有很多错误,我试着在这里遵循两个答案,但这是我的结果:(只是一个建议:尝试用一个特定的错误消息开始这样的问题,并将代码作为额外的信息包含在内。在您的情况下,您似乎忘记了在模型定义中包含。(您试图通过slug获取一张卡,但是您的卡模型没有定义slug字段。)否则,您要求执行代码审核,这可能更适合于而不是StackOverflow。
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 %}