丹果带榴莲

2024-04-24 12:56:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我用回调函数注册URL,如下url(r'^G2S/TestList$', testList)

这是回调函数

def testList(request):

    fi = open('testlist.html', 'r')
    html = fi.read()
    fi.close();    

    #html = '<html><body> <FORM ACTION="/G2S/HostReceiver" METHOD="POST"> First name: <INPUT TYPE="TEXT" NAME="firstName" VALUE="J. Random"><BR>  Last name:  <INPUT TYPE="TEXT" NAME="lastName" VALUE="Hacker"><P>  <INPUT TYPE="SUBMIT"></FORM> </body></html>' 
    return HttpResponse(html)

我遇到的问题是在回调函数中调用open('testlist.html', 'r')(如果我使用eclipse dejango run)

django在说Exception Value : [Errno 2] No such file or directory: 'testlist.html'

但是相反,如果我使用命令行和python manage.py runserver

工作正常,无误。你知道吗

项目层次结构如下所示

project folder    
     |       
     src folder
         |
         manage.py
         testlist.html

为什么它只在eclipse中出错

还有一件事,为什么调试模式下的eclipse断点似乎不起作用?你知道吗

例如,我在上面的回调函数(testList)中检查一个断点,然后输入to

http://127.0.0.1:8000/G2S/TestList在调试模式下,我认为eclipse应该在我检查的地方停止,虽然出现了错误,但是没有,为什么?你知道吗


Tags: 函数textnameforminputhtmltypebody
1条回答
网友
1楼 · 发布于 2024-04-24 12:56:34

了解如何在项目中使用模板。不建议使用这样的文件操作。你知道吗

将此添加到settings.py文件

TEMPLATE_DIRS = (
    os.path.join(PROJECT_ROOT, '<app>/templates'))

然后将html文件添加到project/<app>/templates文件夹。你知道吗

然后在视图中使用

return render(request, 'testlist.html')

相关问题 更多 >