学习Django(一)

来源:互联网 发布:hash算法的实现原理 编辑:程序博客网 时间:2024/05/01 06:15

学习django

我使用的是python3.4,Django是1.10.2,mysql.connector

创建第一个项目

  1. 第一步

 
#创建一个项目
E:\Git>python d:\Python34\Scripts\django-admin.py startproject HelloWorld
E:\Git\HelloWorld>cd HelloWorld
#开始运行服务器
E:\Git\HelloWorld>python manage.py runserver 0.0.0.0:8000
  1. 第二步

    在HelloWorld里面的HelloWorld里创建一个view.py的文件

 
   from django.http import HttpResponse
   def hello(request):
    return HttpResponse("Hello World!")
  1. 第三步

    修改urls.py的代码为

 
from django.conf.urls import url
from HelloWorld.view import hello
urlpatterns = [
  ('^hello/$',hello),
]
  1. 第四步

    这是在浏览器的显示。

Django模板

Djange模型

如果你使用的是django+mysql.connector,那么settings.py的内容就需要改成

 
DATABASES = {
    'default': {
        'ENGINE': 'mysql.connector.django',
        'NAME':'test',
        'USER':'root',
        'PASSWORD':'123',
        'HOST':'localhost',
        'PORT':'3306',
    }
}

创建表,必须用

 
E:\Git\HelloWorld>python manage.py makemigrations TestModel
No changes detected in app 'TestModel'

数据库操作

  • 添加数据

 
from django.http import HttpResponse
from TestModel.models import Test
# 数据库操作
def testdb(request):
    test1 = Test(name='w3cschool.cc')
    test1.save()
    return HttpResponse("<p>数据添加成功!</p>")

  • 获取数据

 
from django.http import HttpResponse
from TestModel.models import Test
# 数据库操作
def testdb(request):
    # 初始化
    response = ""
    response1 = ""
    
    
    # 通过objects这个模型管理器的all()获得所有数据行,相当于SQL中的SELECT * FROM
    list = Test.objects.all()
        
    # filter相当于SQL中的WHERE,可设置条件过滤结果
    response2 = Test.objects.filter(id=1) 
    
    # 获取单个对象
    response3 = Test.objects.get(id=1) 
    
    # 限制返回的数据 相当于 SQL 中的 OFFSET 0 LIMIT 2;
    Test.objects.order_by('name')[0:2]
    
    #数据排序
    Test.objects.order_by("id")
    
    # 上面的方法可以连锁使用
    Test.objects.filter(name="w3cschool.cc").order_by("id")
    
    # 输出所有数据
    for var in list:
        response1 += var.name + " "
    response = response1
    return HttpResponse("<p>" + response + "</p>")

  • 更新数据

 
from django.http import HttpResponse
from TestModel.models import Test
# 数据库操作
def testdb(request):
    # 修改其中一个id=1的name字段,再save,相当于SQL中的UPDATE
    test1 = Test.objects.get(id=1)
    test1.name = 'w3cschool菜鸟教程'
    test1.save()
    
    # 另外一种方式
    #Test.objects.filter(id=1).update(name='w3cschool菜鸟教程')
    
    # 修改所有的列
    # Test.objects.all().update(name='w3cschool菜鸟教程')
    
    return HttpResponse("<p>修改成功</p>")

  • 删除数据

 
# 数据库操作
def testdb(request):
    # 删除id=1的数据
    test1 = Test.objects.get(id=1)
    test1.delete()
    
    # 另外一种方式
    # Test.objects.filter(id=1).delete()
    
    # 删除所有数据
    # Test.objects.all().delete()
    
    return HttpResponse("<p>删除成功</p>")

0 0
原创粉丝点击