使用Django框架搭建最最简单的web应用流程-学习笔记

使用Django框架搭建最最简单的web应用流程

第一步:创建项目
在pycharm的Terminal处使用命令:django-admin startproject <项目名>

得到如图项目
第二步:修改settings配置文件
因为我的项目需要连接的后台数据库是MySQL不是python默认的sqlite3,所以需要修改settings文件中有关数据库的配置项。
(1)首先要去MySQL里建一个数据库,在这里我建了一个名为testdatabase的数据库。
(2)修改settings中DATABASE字典中的内容:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'testdatabase',#刚才建的那个数据库名
        'USER': 'root',
        'PASSWORD': '*******',#MySQL自己设置的密码
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

(3)因为更改了默认数据库,所以要在在__init__.py文件中加入:

import pymysql
pymysql.version_info = (1, 4, 13, "final", 0) #指定版本 可加可不加 之前报错就加了
pymysql.install_as_MySQLdb()

(4)创建迁移文件:python manage.py migrate
(此时可去MySQL中查看数据库中已经有了默认的一些表)
第三步:开启服务器
使用命令:python manage.py runserver
创建超级用户 用于管理后台数据:python manage.py createsuperuser
输入用户名和密码
第四步:创建APP
使用命令:python manage.py startapp <app名>
红框内即为app
要记得把APP添加到settings配置文件中的INSTALLED_APP字典字段中

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'data_manage',#你的app名
]

第五步:编写model模块
(1)在model文件中创建不同类,即建表

class DataManageUserinfo(models.Model):
    user_id = models.CharField(primary_key=True, max_length=20)
    user_name = models.CharField(max_length=20)
    user_password = models.CharField(max_length=20)
    
    class Meta:
        managed = False
        db_table = 'data_manage_userinfo'

(2)将数据模型迁移到数据库(即将数据模型映射为数据库中的表)
使用命令:python manage.py makemigrate 应用名<即你自己创建的应用名>
接着使用:python manage.py migrate

第六步:配置路由
自己定义的项目名下的urls是用来配置总路由的(即你要显示的页面)

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),#后台管理的页面
    path('data_manage/', include('data_manage.urls')),#你的应用界面
]

app下需要自己创建一个urls.py文件来配置子路由(即从你这个应用都可以跳转到那几个页面)

from django.urls import path
from . import views
urlpatterns = [
    path('', views.toLogin_view),#登录页
    path('login/', views.Login_view),#登录后的反应页
    path('register/', views.register_view),#注册后的反应页
    path('toregister/', views.toregister_view),#注册页
]

app下创建一个templates文件夹用来存放显示给用户界面的html文件
第七步:编写view模块
view模块是展示页面与后台数据交互的逻辑处理部分
处理——>从前台获取的数据 ——>展示
——>从数据库获取的数据

举个例子:

#渲染注册界面
def toregister_view(request):
    return render(request, 'register.html')
 #点击注册后做的逻辑判断
def register_view(request):
    user = request.POST.get("user", '')
    password = request.POST.get("password", '')
    if user and password:
        s = DataManageUserinfo(user_name=user, user_password=password, user_id=random.choice('0123456789'))
        s.save()
        return HttpResponse("注册成功!")
    else:
        return HttpResponse("请输入完整的账号和密码!")

view模块和路由配置模块是息息相关的,view主要编写逻辑动作、逻辑判断,路由配置时调用view中的模块,使得页面最终得以显示。

然后就成型了…简易版流程就是这样了,记录一下供自己回忆,具体的细节项目的优化还需继续学习。


   有关总路由和子路由的一些理解:
   总路由配置你的应用下自己创建的urls集  有几个app写几个
   
   子路由下写自己配置的路由,默认‘’空的什么也没有的的就是该应用主页面,其他要跳转的是自己写的。

总的路由配置
子路由配置

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值