我试图复制一个等同于:
的url正则表达式url(r'^members/(?P<username>\w+)/$', 'profiles.views.single'),
虽然我知道我正在从我的数据库中获取用户:
from django.contrib.auth.models import User
我想知道我是否可以将其改为更独特的东西。我一直在阅读来自https://docs.djangoproject.com/en/1.8/intro/tutorial04/的文档,但我仍然迷失了。
我的问题是关于我是否可以将模型中的数据用作正则表达式中的命名组。
示例:
from django.db import models
from django.contrib.auth.models import User
class Address(models.Model):
user = models.ForeignKey(User)
unique_code = models.IntegerField(max_length = 5)
active = models.BooleanField(default = True)
以某种方式可以使用'unique_code'字段作为我的正则表达式中的可能网址来映射:
url(r'^members/(?P<unique_code>\w+)/$', 'profiles.views.single'),
我正在尝试这样的事情,但显然不起作用:
def single(request, unique_id):
try:
uid = get_object_or_404(Address, unique_id=unique_id)
final = uid
except:
raise Http404
return render_to_response('single_user.html', locals(), context_instance=RequestContext(request))
答案 0 :(得分:1)
尝试使用unique_code
替换函数中的unique_iddef single(request, unique_code):
try:
uid = get_object_or_404(Address, unique_code=unique_code)
final = uid
except:
raise Http404
return render_to_response('single_user.html', locals(), context_instance=RequestContext(request))