You probably don't want to use the name directly, you should probably look
at creating a slug from the name and store it in a SlugField on your model.

https://docs.djangoproject.com/en/1.8/ref/models/fields/#slugfield
https://docs.djangoproject.com/en/1.8/ref/utils/#module-django.utils.text

Your URL regex already looks correct to capture a slug.

At that point it's just a matter of pulling the object via the slug in your
view:

fruit = get_object_or_404(Fruit, slug=fruit_name)

Of course that's assuming that your SlugField is named 'slug'. Make sure to
read up on slugs since they need to be unique, and generating them may be a
challenge.

-James
On Aug 13, 2015 12:18 PM, "I. Dié" <idie.lev...@gmail.com> wrote:

> Hi evrybody,
>
> Here is my model:
>
> # fruits/models
>     Class Fruit (models.Model):
>             name =  models.CharField(max_length = 33,
>                                choices = NAME_CHOICES, default = MANGO)
>            # and so on...
>
> # fruits/views
> def fruit(request, fruit_name):
>     fruit = get_object_or_404(Fruit)
>     return render(request, 'fruits/fruit.html', {'fruit': fruit})
>
> # fruits/urls
> urlpatterns = [
>     url(r'^$', views.index, name="index"),
>     url(r'^(?P<fruit_name>[-\w]+)/$', views.fruit, name='fruit'),
> ]
>
> When I used fruit_id, everything was ok.
> But I want to know how to use Fruit.name (a string) as url's parameter
> instead of fruit_id like this: myverybigmarket/fruits/mango better than
> myverybigmarket/fruits/1
>
> Ps: this is my first python/django project.
>
> Thanks
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-users+unsubscr...@googlegroups.com.
> To post to this group, send email to django-users@googlegroups.com.
> Visit this group at http://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/404e6ef5-99d7-4e38-8bf1-978b8690d733%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/404e6ef5-99d7-4e38-8bf1-978b8690d733%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CA%2Be%2BciV_hX6zpDRZMEgNnU_9Z4Pkxqgozs-HwiAJWmigiVoRqA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to