Python 在url中设置参数
我正在尝试设置我的url,以便像这样使用:Python 在url中设置参数,python,django,django-views,Python,Django,Django Views,我正在尝试设置我的url,以便像这样使用: domain.com/obrigado/?transaction_id=526D59DD-FD70-4CAE-B321-14B1F69D60D3 url(r'^obrigado/(?P<transaction_id>[^\.]+)', 'simulado.views.obrigado'), 在myurl.py中 我是这样设置的: domain.com/obrigado/?transaction_id=526D59DD-FD70-4CAE
domain.com/obrigado/?transaction_id=526D59DD-FD70-4CAE-B321-14B1F69D60D3
url(r'^obrigado/(?P<transaction_id>[^\.]+)', 'simulado.views.obrigado'),
在myurl.py中
我是这样设置的:
domain.com/obrigado/?transaction_id=526D59DD-FD70-4CAE-B321-14B1F69D60D3
url(r'^obrigado/(?P<transaction_id>[^\.]+)', 'simulado.views.obrigado'),
这是我的观点:
@login_required
def obrigado(request, transaction_id):
return render(request, 'obrigado.html')
a应该如何更改url配置
编辑:
这是完整的回溯:
Environment:
Request Method: GET
Request URL: http://queromaiseducacao.com.br/obrigado/?transaction_id=BD7B0E7A-E27F-41BE-963F-93D13D8E5107
Django Version: 1.6.5
Python Version: 2.7.5
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'simulado',
'south',
'multichoice',
'django.contrib.admin',
'social_auth')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
Traceback:
File "/home/filipefr2/webapps/quiz/lib/python2.7/django/core/handlers/base.py" in get_response
112. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/filipefr2/webapps/quiz/quiz/simulado/views.py" in quiz_take
80. quiz = Quiz.objects.get(url=quiz_name.lower())
File "/home/filipefr2/webapps/quiz/lib/python2.7/django/db/models/manager.py" in get
151. return self.get_queryset().get(*args, **kwargs)
File "/home/filipefr2/webapps/quiz/lib/python2.7/django/db/models/query.py" in get
310. self.model._meta.object_name)
Exception Type: DoesNotExist at /obrigado/
Exception Value: Quiz matching query does not exist.
这是ulrs.py:
urlpatterns = patterns('',
# Examples:
# url(r'^$', 'quiz.views.home', name='home'),
# url(r'^quiz/', include('quiz.foo.urls')),
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
####################
# quiz base url
url(r'^$', 'simulado.views.index'),
# quiz category list
url(r'^category/(?P<slug>[^\.]+)', 'simulado.views.view_category', name='view_quiz_category'),
#django social auth
url(r'', include('social_auth.urls')),
# cart
url(r'^carrinho$', 'simulado.views.carrinho'),
url(r'^buyItem$', 'simulado.views.buyItem', name = "buyItem"),
# obrigado, return from pagseguro
url(r'^obrigado/(?P<transaction_id>[\w]+)/', 'simulado.views.obrigado'),
# progress
url(r'^progress/$', 'simulado.views.progress'),
url(r'^progress$', 'simulado.views.progress'),
# passes variable 'quiz_name' to quiz_take view
url(r'^(?P<quiz_name>[\w-]+)/$',
'simulado.views.quiz_take'), # quiz/
url(r'^(?P<quiz_name>[\w-]+)$/',
'simulado.views.quiz_take'), # quiz
url(r'^(?P<quiz_name>[\w-]+)/take/$',
'simulado.views.quiz_take'), # quiz/take/
url(r'^(?P<quiz_name>[\w-]+)take$',
'simulado.views.quiz_take'), # quiz/take
)
urlpatterns=patterns(“”,
#示例:
#url(r'^$','quick.views.home',name='home'),
#url(r“^quick/”,包括('quick.foo.url'),
#取消注释下一行以启用管理员:
url(r“^admin/”,包括(admin.site.url)),
####################
#测验基本url
url(r'^$','simulado.views.index'),
#测验类别表
url(r'^category/(?P[^\.]+),'simulado.views.view_category',name='view_category',
#django社会作家
url(r“”,包括('social_auth.url'),
#推车
url(r“^carrinho$”、“simulado.views.carrinho”),
url(r“^buyItem$”,“simulado.views.buyItem”,name=“buyItem”),
#奥布里加多,从帕塞古罗回来
url(r“^obrigado/(?P[\w]+)/”,“simulado.views.obrigado”),
#进展
url(r“^progress/$”、“simulado.views.progress”),
url(r“^progress$”、“simulado.views.progress”),
#将变量“quick\u name”传递给quick\u查看
url(r'^(?P[\w-]+)/$”,
“simulado.views.quick_take”),#quick/
url(r'^(?P[\w-]+)$/',
“simulado.views.quick_take”),#quick
url(r'^(?P[\w-]+)/take/$”,
“simulado.views.quick_take”),#quick/take/
url(r'^(?P[\w-]+)采用$,
“simulado.views.quick_take”),#quick/take
)
Obrigado.html为空。此处使用的url为:
domain.com/Thank/?transaction\u id=XXXXX
而在您的
url.py
中,正则表达式没有单词谢谢
。这可能是错误的原因 正则表达式需要的URL格式为domain.com/obrigado/526D59DD-FD70-4CAE-B321-14B1F69D60D3
,因此404hm不起作用。我用我的观点更新了我的问题。你能看一下吗?好的。。将[^\.]+
更改为[\w]+
怎么样?hrm,看起来它不是urlconf。因为如果您得到的是测验匹配查询不存在。
…那么在obrigado.html中可能有一些东西最终会执行quick.objects.get(…)或一些中间件!(我会发布完整的堆栈跟踪或给出obrigado.html的内容)我用完整的跟踪和URL.pyhm编辑了我的帖子,谢谢。但这不是问题所在。我刚刚翻译了来自obrigado的感谢,因为非葡萄牙语使用者能够更好地理解这个问题。我已经用“obrigado”改变了我的代码