Django项目的快速创建练习

1.创建项目安装虚拟环境

2.打开setting查看:Project:XXX ---->Project Interpreter

3.创建你说需要的应用:

    在Terminal中

        django-admin startapp XXXX

        忘记的时候可以使用 django-admin --help

4.工程文件下面的setting配置文件中安装app

    搜索:INSTALLDE_APPS

        列表中增加app

        格式:应用名.apps.应用中的对应的初始类,如图:

INSTALLED_APPS = [

    'django.contrib.admin',

    'django.contrib.auth',

    'django.contrib.contenttypes',

    'django.contrib.sessions',

    'django.contrib.messages',

    'django.contrib.staticfiles',

    'book.apps.BookConfig',

]

5.修改工程文件setting中的数据库配置

    搜索:DATABASES

        添加数据库信息

DATABASES = {

    'default': {

        # 引擎

        'ENGINE': 'django.db.backends.mysql',

        'HOST': '8.131.95.147',

        'PORT': '3306',

        'USER': 'root',

        'PASSWORD': '123456',

        'NAME': 'book_42_02',  # 指定数据库

    }

}

 

6.添加完成后再工程的初始化__init__文件中安装pymsql

import pymysql

pymysql.version_info = (1, 4, 13, "final", 0)  # 指定版本信息,有时会报错

pymysql.install_as_MySQLdb()

7.配置完之后在链接数据库创建第5步指定的数据库;

create database book_42_02 character set utf8;

8.定义对应应用中的models.py中的数据模型

from django.db import models

# Create your models here.
class BookInfo(models.Model):
    # 创建字段,字段类型....
    name = models.CharField(max_length=20, verbose_name='名称')
    pub_date = models.DateField(verbose_name='发布日期', null=True)
    readcount = models.IntegerField(default=0, verbose_name='阅读量')
    commentcount = models.IntegerField(default=0, verbose_name='评论量')
    is_delete = models.BooleanField(default=False, verbose_name='逻辑删除')

    class Meta:
        db_table = 'bookinfo'  # 指明数据库表明
        verbose_name = '图书'  # 在admin站点中显示的名称

    def __str__(self):
        """定义每个对象数据的显示信息"""
        return self.name

class PeopleInfo(models.Model):
    GENDER_CHOICES = (
        (0, 'male'),
        (1, 'female')
    )
    name = models.CharField(max_length=20, verbose_name='名称')
    gender = models.SmallIntegerField(choices=GENDER_CHOICES, default=0, verbose_name='性别')
    description = models.CharField(max_length=20, null=True, verbose_name='描述')
    book = models.ForeignKey(BookInfo, on_delete=models.CASCADE, verbose_name='外键')
    is_delete = models.BooleanField(default=False, verbose_name='逻辑删除')

    class Meta:
        db_table = 'peopleinfo'
        verbose_name = '任务信息'

    def __str__(self):
        return self.name

9.在Terminal中输入python manage.py makemigrations 生成迁移记录文件

(venv) D:\Pycharm\Project\bookmanager02>python manage.py makemigrations

Migrations for 'book':

  book\migrations\0001_initial.py

    - Create model BookInfo

10.在Terminal中输入 python manage.py migrate 生成表

Operations to perform:
  Apply all migrations: admin, auth, book, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying book.0001_initial... OK
  Applying sessions.0001_initial... OK

11.接下来就可以在对应的应用的views.py文件中编写逻辑

from django.http import HttpResponse

from django.shortcuts import render



# Create your views here.

def index(request):

    return HttpResponse("index")

12.views.py中的路由建议在应用下面创建urls.py文件来分块管理视图

from django.conf.urls import re_path

from book.views import index


urlpatterns = [

    re_path('index/', index),

]

13.设置完应用下的urls.py之后去工程目录下面的总路由文件urls.py下配置一下引导的路由

"""bookmanager02 URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/3.2/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include


urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('book.urls')),  # 第二个include('应用名.urls')
]

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值