美文网首页
(一)创建django项目

(一)创建django项目

作者: HC2 | 来源:发表于2020-12-23 14:48 被阅读0次

一、安装django

    pip install django

二、创建django容器

  1、django-admin.py startproject demo
image.png

: 项目的容器。
manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
demo/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
demo/settings.py: 该 Django 项目的设置/配置。
demo/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
demo/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

进入demo目录 运行python3 manage.py可查看manage.py相关命令


image.png
2、创建个app项目
python3 manage.py startapp demo_app
image.png

-migrations 数据库变更相关记录(你不要删,也不要改)
-admin.py 后台管理(创建项目如果没有选,就没有)
-apps.py app的相关配置,不用管
-models.py 数据库相关(重点)
-tests.py 测试相关(不用管)
-views.py 视图函数(重点)

三、启动项目

   python3 manage.py runserver 
   python3 manage.py runserver 8004  #指定端口
image.png

浏览器输入127.0.0.1:8005


image.png

代表启动成功

四、开始实现后端接口

(1)、配置数据库


image.png

我们将他配置成我们熟悉的mysql

<1>、安装pip3 install pymysql
<2>、 在此目录下,添加配置
image.png

<3>、配置数据库连接信息


image.png

(2)、建立数据库表

   (1)、设计数据库模型
    <1>、进入models.py

from django.db import models

# Create your models here.

#创建一个数据表

class UserType(models.Model):
    id = models.AutoField(primary_key=True)  #AutoField唯一主键
    caption = models.CharField(max_length=16)

class UserInfo(models.Model):
    # CharField类型不能为空,最少要指定一个长度
    user = models.CharField(max_length=32)  #CharField为类型
    email = models.EmailField(max_length=32)
    pwd = models.CharField(max_length=32)
    user_type = models.ForeignKey(UserType,null=True, on_delete=models.SET_NULL)  #关联外键,UserType表的id作为关联

(2)、初始化数据库
<1>、配置你创建的app


image.png
 <2>、运行
    python3 manage.py  makemigrations
    python3 manage.py  migrate
     
   这个两个命令的作用请查看:
   https://blog.csdn.net/sinat_23133783/article/details/108692194

<3>、运行成功结果:
image.png
 <4>、查看数据库
image.png

生成创建的数据表

(3)、实现一个接口
<1>、进入view文件编写你的接口

from django.shortcuts import render
from django.views.decorators.http import require_http_methods
from django.core import serializers
from django.http import JsonResponse
import json
from .models import UserType   #引入model.py的模型对象


# Create your views here.
@require_http_methods(["GET"])   #限制http接收类型
def add_book(request):
    response = {}
    try:
        book = UserType(caption=request.GET.get('caption'))   #接口参数
        book.save()         #保存
        response['msg'] = 'success'
        response['error_num'] = 0
    except  Exception as e:
        response['msg'] = str(e)
        response['error_num'] = 1
    return JsonResponse(response)  #以json类型返回数据
image.png
<2>、配置接口路由,给外部访问
image.png
      demo/urls.py 提供了默认路由配置,这里我们在app下创建个urls.py文件进行引入:
image.png
   配置路由:

  from django.conf.urls import url,include
  from demo_app import views  #引入views文件

  urlpatterns = [url(r'add_book$', views.add_book, ),    #配置路由
           # url(r'show_books$', views.show_books, ),
           ]
image.png
引入全局:
   """demo URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.1/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.conf.urls import url, include
from django.contrib import admin
from django.urls import path
from django.views.generic import TemplateView
import demo_app.urls

# urlpatterns = [
#     path('admin/', admin.site.urls),

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^api/', include(demo_app.urls)),  #引入 r'^api/',每个接口的前缀
    url(r'^$', TemplateView.as_view(template_name="index.html")),
]
image.png

使用postman访问我们的接口:
记得启动项目: python3 manage.py runserver 8005


image.png

未完待续。。。。。。

相关文章

网友评论

      本文标题:(一)创建django项目

      本文链接:https://www.haomeiwen.com/subject/msbynktx.html