您好Stackoverflow社区!
这标志着很长一段时间的粉丝第一次发帖!我几乎总能在这里找到一个看似不可能的问题的答案,但时机已到,我愤怒地离开谷歌搜索并决定在这里发帖!感谢所有帮助!
作为Django noob,我目前正在努力设计一个只包含两种URL的应用程序(想想:appear.in)所以基本上,localhost /的主页有一个用于文件夹名称输入和创建文件夹按钮的表单。 / p>
如果localhost / FOLDER1 /确实存在,则文件夹将被展开,否则(即localhost / NOTEXISTING /)它将重定向到home,并使用value ='NOTEXISTING'呈现HTML文本输入。 Supplementary Contents表提供了ForeignKey(文件夹)
的详细信息我目前的网址是:
url(r'(\w+)/$', ShowFolder), #Trying to capture the folder name
url(r'^$', Homepage), #Trying to capture blank URL -> home
views.py包含:
def Homepage(request):
t = get_template('home.html')
html=t.render(Context({'foldername': foldername}))
return HttpResponse(html)
def ShowFolder(request, foldername):
try:
folder = Folder.objects.get(name=foldername)
html=t.render(Context({'folder': folder }))
return HttpResponse(html)
except Folder.DoesNotExist:
t = get_template('home.html')
fradd = ("Folder not found, wanna create one?")
html=t.render(Context({'foldername': foldername}))
return HttpResponse(fradd + html)
HTML表单如下所示:
<form >
<b>Folder Name: </b>
<input type="text" name="FodlerName" value=" {{ foldername }} ">
<input type="button" id="btn" value="Create Folder" name="btn">
</form>
所以真正阻止我的进步的是我缺乏页面重定向知识和捕获提交事件。
我现在想要的是从输入中获取文件夹名称,创建一个具有该名称的文件夹并重定向到localhost / NEWFOLDER,而不需要在此过程中修改任何URL。 我用JS和JQuery尝试过无数关于表单和HTML示例的教程,虽然没有成功。
任何帮助都将超过赞赏! 真诚地提前谢谢你!
答案 0 :(得分:1)
我不完全确定在这里应该做什么视图。但是,只需通过request.POST['FolderName']
从表格帖子中获取文件夹名称,假设您使用POST提交表单,但不应该这样。
使用重定向快捷方式重定向到该名称也很简单:
from django.shortcuts import redirect
folder_name = request.POST['FolderName']
return redirect('ShowFolder', (folder_name,))