Django项目基本搭建

Django项目基本搭建

框架理念
Django遵循MVT框架模式,由模型(Model)、视图(View)、模板(Template)组成,与传统MVC模式不同的是,Django通过视图(V)处理请求,显示工作交给了模板(T)。

环境

Ubuntu
python 3.6
django 2.1

安装Django

pip3 install django==2.1.*

因为Ubuntu中默认安装python 2.7,所以需要使用pip3指定python 3.6进行安装

项目构建流程

1. 搭建django项目

django-admin startproject 项目名称

2. 创建应用

python manage.py startapp 应用名称
  • 在web文件夹setting文件中INSTALLED_APPS添加该应用
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    #添加子应用
    '应用名称'
]
  • 设置中文和时区
#中文
LANGUAGE_CODE = 'zh-Hans'
#上海时区
TIME_ZONE = 'Asia/Shanghai'

3. 重定向路由至应用中的路由
配置web文件夹中的路由文件urls

#配置web文件夹中的路由文件urls.py,除了匹配admin/外,其余匹配重定向到应用中的urls.py
from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
	url(r'^', include('应用名称.urls')),
]

应用中新建一个路由文件urls

from django.conf.urls import url
from django.contrib import admin
from . import views

urlpatterns = [
	#url(r'^访问地址名称',views.函数名称),
	url(r'^hello',views.Hello),
]

4. 创建模板文件

  • 模板文件用于存放html页面,在与应用同级目录下创建文件夹templates

  • 在setting中配置模板文件路径

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        #修改此处路径
        'DIRS': [os.path.join(BASE_DIR,'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

5. 定义视图函数
在应用中的views文件编写视图函数
视图函数中必须带有返回值,返回的方式有很多种

def Hello():
	return HttpResponse('Hello world!')

6. 启动服务
在manage同级目录下打开终端,输入下面指令

python manage.py runserver

7. 测试

打开浏览器,在地址栏输入 127.0.0.1:8000/hello

在setting文件中可以通过修改ALLOW_HOSTS,来修改服务监听的ip地址。

8. 数据库配置
模型(Model)负责程序处理数据逻辑的部分,负责数据的存取

  • 配置setting文件
DATABASES = {
    'default': {
    	#这里使用的是MySQL
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '数据库名称',
        #用户名
        'USER':'root',
        #密码
        'PASSWORD':'123456',
        #IP
        'HOST':'localhost',
        #端口号
        'POST':'3306',
    }
}
  • 打开应用中的init文件,添加以下代码
import pymysql
pymysql.install_as_MySQLdb()

9. 定义模型

  • 在应用的model文件中自定义模型
# 创建模型类,Hello是模型名
class Hello(models.Model):
    #创建字段
    #字段名 = models.字段类型()
    name = models.CharField(max_length=20)
    
    class Meta:
      	#指定数据库表名,默认名称为 应用_类名
        db_table = 'hello'

    def __str__(self):
        #定义每个对象返回的信息
        return self.name
  • 生成迁移文件
python manage.py makemigrations
  • 执行迁移
python manage.py migrate

迁移完成后可以进入数据库查看,生成了许多表,其中包括hello表

10. 模型的基本操作
在views中导入模型文件models

from . import models
  • 查询
def Hello():
	#获取当前模型的所有对象,结果是一个查询集
	#data = models.模型名.objects.过滤器
	data = models.Hello.objects.all()

	#获取一个指定的数据对象
	#这里是指定获取id为1的对象
	obj = models.Hello.objects.get(id=1)
	
	return HttpResponse('Hello world!')
  • 添加
#待存储数据
data = {'name':'zhangsan'}
#模型存储对象,这里要用关键字参数
obj = models.Hello(**data)
#保存操作
obj.save()
  • 删除
#获取数据对象后,进行删除操作
obj.delete()
  • 修改
obj.name = 'lisi'
obj.save()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值