前天用V友方法request.GET确实能够获取form的值,但是放到URL里面就会报错“name 'request' is not defined”,把代码中str(link[0])换成request.GET.get('q','')却又能传输到变量,是赋值问题还是其他什么问题。
报错内容:
NameError at /search/
request' is not defined
/home/mysite/urls.py in <module>
url(r'^search/', include('search.urls')), ...
▶ Local vars
views.py代码
from bs4 import BeautifulSoup
import urllib2
from django.template import Context,loader
from django.http import HttpResponse
keywords = str(request.GET.get('q',''))
url='https://www.baidu.com/s?wd=%s' % keywords
html=urllib2.urlopen(url).read()
soup = BeautifulSoup(html)
link = soup.find_all('div')
def index(request):
template = loader.get_template('index.html')
context = Context({'keyword':str(link[0])})
return HttpResponse(template.render(context))
1
ciba1990 OP 新手提问,多多包含。
|
2
Septembers 2015-07-12 01:33:24 +08:00
因为模板默认不会注入任何信息 也就是说你需要手动注入
|
3
ciba1990 OP @Septembers 我只是想把request.GET的值传到keywords这个变量,如果不能传,那为什么可以传给keyword这个变量。
|
4
nealv2ex 2015-07-12 01:57:02 +08:00 via iPhone
“name 'request' is not defined
这个报错信息麻烦lz解释一下什么意思 keywords = str(request.GET.get('q','')) 这里的request是什么,哪里来的,那个生命周期里存在这个request 错误提示明明说的很清楚,难道还不会放到翻译软件翻译一下? |
6
nealv2ex 2015-07-12 02:03:32 +08:00 via iPhone 1
def index(request):
你猜这句什么意思 lz写代码完全靠猜啊,没有语言基础,不看框架教程 |
7
ciba1990 OP |
9
nealv2ex 2015-07-12 02:12:20 +08:00 via iPhone
keywords = str(request.GET.get('q',''))
url='https://www.baidu.com/s?wd=%s' % keywords html=urllib2.urlopen(url).read() soup = BeautifulSoup(html) link = soup.find_all('div') 全部放进去,原因嘛,反正你也不在意。 已经被骗不少铜币了。 |
10
ciba1990 OP @nealv2ex
这种方式可以的,但是填中文会提示q编码不对, 'ascii' codec can't encode characters in position 30-32: ordinal not in range(128) |
11
MrEggNoodle 2015-07-12 10:24:10 +08:00 1
Django新人吗?那我答非所问的分享一些我的入门资料给你~
http://www.ziqiangxuetang.com/django/django-tutorial.html 这是一个非常好关于Django的简明教程,国内的,希望对你有帮助。 http://django-china.cn 这是一个国内相对活跃的Django论坛。他的Q群很活跃。(155719011) http://www.cnblogs.com/fnng/p/3737964.html 这是一个叫虫师的Blog,有几篇不错的Django入门教程,完整的小项目。 http://study.163.com/course/introduction/320022.htm#/courseDetail 这是网易云课堂的一个Django课程,免费的~ |