1-在mysql中建立的数据库,命名为:pythonweb
2-In your settings.py,set your database
1 DATABASES = { 2 'default': { 3 'ENGINE': 'django.db.backends.mysql', 4 'NAME': 'pythonweb', 5 'HOST': '127.0.0.1', 6 'PORT': 3306, 7 'USER': 'root', 8 'PASSWORD': 'root', 9 } 10 }
3-安装mysql引擎
由于python默认并不自带mysql引擎,windows需要安装Mysqlclient(MAC可直接 pip install mysqlclient ),否则报错MySQLdb不存在
安装时注意与Python的版本号,位数(32、64)一致
Mysqlclient:http://www.lfd.uci.edu/~gohlke/pythonlibs/,
下载对应的版本的.whl文件后,pip install 安装即可
4-In your views.py,you can code like this :
1 import MySQLdb 2 def index(request): 3 conn=MySqldb.connect( 4 host='127.0.0.1', 5 port=3306, 6 user='root', 7 passwd='root', 8 db='pythonweb', 9 charset='utf8', #须与建立数据库时编码一致 10 11 ) 12 cursor=conn.cursor() #定义游标 13 cursor.execute("SELECT * FROM firstapp_article") 14 results=cursor.fetchmany() 15 16 articles=[] 17 for result in results: 18 articles.append( 19 { 20 # 这里与数据库中定义的表相匹配关联 21 #result[0]为id 22 'title':result[1], 23 'content':result[2], 24 'views':result[3], 25 'likes':result[4], 26 'createtime':result[5], 27 'editors_choice':result[6], 28 'cover':result[7], 29 'url_image':result[8], 30 } 31 32 ) 33 context={} 34 context['articles']=articles 35 return render(request,'index.html',context)
5-In your templates,
1 {% for v in articles %} 2 <--#注意上面articel后面没有.all--> 3 {{v.title}} 4 {% endfor %}