如何让Django为每个输入的URLField创建唯一的URL视图和页面
我正在尝试在一个Django项目中创建一个小应用。当用户在URL字段的表单中输入一个网址时,系统会为每个网址创建一个单独的页面,形成一个目录页面,方便大家查看提交的链接。例如,如果我输入网址 http://www.facebook.com/username1 或 http://www.facebook.com/username2,我希望Django能分别在 www.mysite.com/username1 和 www.mysite.com/username2 创建新页面。请问我该怎么做比较好呢?非常感谢!这是我为表单字段写的基本代码:
class newlinkform(forms.ModelForm):
link_comment = forms.CharField(max_length=256) #comment to go along with URL entered
url = forms.URLField(max_length = 512) #actual submitted link I'd like to get a view mapped to
class Meta:
model = newlink
1 个回答
0
如果你的 urls.py
文件里有这样的内容:
...
url(r'URL/^(?P<url_param>[a-zA-Z0-9_]*)/$', 'views.view_for_all_pages', name='view_for_all_pages')
...
那么你的 views.py
文件可能看起来像这样:
from django.shortcuts import render as render_original
def view_for_all_pages ( request, url_param ):
render (request, "template.html", { "url_param" : url_param })
还有你的模板文件:
<h1>URL entered: {{url_param}}</h1>
这样的话,你可以通过请求这个地址: http://yourserver.com:8000/URL/foo
来看到 <h1>你输入的URL是: foo</h1>