我是django的新手,我正在一个需要数据库表的动态URL的网站上工作,而且一切正常,但我想知道如何删除&# 34;?ID ="来自网址,而不是
本地主机:8000 / dynamicurl / ID = XXXXX
网址变为
本地主机:8000 / dynamicurl / XXXXX
相反
我在文档中进行了大量的搜索,并没有找到很多,但很可能我错过了一些东西。
编辑: 感谢大家的帮助,最简单的答案是删除我用来获取ID的对象,并在evert实例中将其替换为ID,
所以我的网址变成了
url(r' ^ dynamicurl /(?P [0-9] +)/ $',views.dynamicurl)
我的观点变成了
def dynamicurl(request,id):
我对django FYI来说非常新鲜
答案 0 :(得分:0)
您可以在apps urls.py文件中捕获url定义中的变量。它看起来像这样:
url(r'^dynamicurl/(?P<id>[0-9]+)?$', dynamicurl, name = 'dynamicurl'),
然后在您的视图函数中,您会收到该参数:
def dynamicurl(request, id):
答案 1 :(得分:0)
如果您正在讨论如何更改<div style = "background-color:Red;height:50px;width:100px;float:left;clear:both;"></div>
<div style = "background-color:Blue;height:50px;width:100px;float:left"></div>
<div style = "background-color:Green;height:50px;width:100px;float:left"></div>
内的网址,建议您使用上面已经回答的代码:https://stackoverflow.com/a/41988051/6396981
但是,如果您在谈论如何将for table in tables:
speedy_serve_cursor.execute('SELECT * FROM "%s"' % table[0])
for row in speedy_serve_cursor.fetchall():
if len(row) == 1:
row = row[0]
print (table[0])
print (row)
archives_cursor.execute('INSERT INTO "%s" VALUES (%s) ON CONFLICT DO NOTHING' % (table[0], str(row)))
else:
print (table[0])
print("\n\n")
print (row)
print("\n\n\n\n")
archives_cursor.execute('INSERT INTO "%s" VALUES (%s) ON CONFLICT DO NOTHING' % (table[0], str(row)[1:-1]))
重定向到urls
,请希望这有用..
<强> 1。 localhost:8000/dynamicurl/?id=XXXXX
强>
localhost:8000/dynamicurl/XXXXX
<强> 2。 views.py
强>
from django.http import HttpResponse
from django.views.generic.base import RedirectView
from django.core.urlresolvers import reverse
class RedirectView(RedirectView):
permanent = False
def get_redirect_url(self):
get_id = self.request.GET.get('id')
if get_id is not None:
return reverse('redirected_page', kwargs={'id': id})
return reverse('origin_page')
def redirected_view(request, id):
# your final view goes here...
return HttpResponse("You're looking for id: %d." % id)