一、数据库迁移
1.创建apps文件夹,把项目文件都拖入到apps文件夹中去2.将apps文件make成为source
3.STATIC_ROOT = '/static/'
4.增加引用目录:sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
5.使用makemigrations + appname,对数据库的变化进行修改;
6.使用migrate + appname,进行迁移;
二、url映射
1.将url界面加入相应的template文件夹中2.在views.py中编写访问页面的方法
def getform(request):
return render(request, 'message_form.html')
3.在url中配置路径: url(r'^form/$',getform)
4.在settings中配置staticfiles的路径
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static')
]
三、models数据模型的编写(ORM机制)
1.在models中编写数据模型,同时要注意的是在开头加上utf-8编码的设置,# -*- coding: UTF-8 -*-;2.每次新建一个app,都要相应的在settings中进行注册;
3.运行makemigirations
四、数据库ORM操作
1.查询所有数据:all_messages = UserMessage.objects.all(),取出所有数据,然后可以使用for循环展示;
2.定位查询:all_messages = UserMessage.objects.filter(name='luca', address='北京'),可以通过加入条件进行查询;
3.保存数据:(实例化)user_message = UserMessage() user_message.name = 'han' user_message.address = '北京'
user_message.save()即可;
五、留言板功能的增加
1.html配置aciton,form action="/form/"(注意action的动作要做urls中完成配置才行);2.由于django的安全保护机制,所以必须要在html页面中添加cstf_token才行;
3.对前台传过来的命令要进行判断:if request.method == 'POST':
4.删除方法,直接参用定位删除的方法即可:
all_messages = UserMessage.objects.filter(name='hyy')
for message in all_messages:
print message.name
message.delete()
5.取出数据,获得的message数据,可以传递到前台去,然后通过{{message.name}}的形式进行展示
message = None
all_messages = UserMessage.objects.filter(name='han')
if all_messages:
message = all_messages[0]
return render(request, 'message_form.html',{
"message":message
})
六、url配置技巧:方便之后改名,相当于别名
url(r'^form/', getform, name='go_form')
aciton,form action="{% url 'go_form' %}"