1 django 快速上手

1 虚拟环境

使用管理员启动cmd,进入virtualenv安装目录C:\Program Files\Python3\Scripts(或配置环境变量)
新建虚拟环境文件夹:mkvirtualenv lizi_auto_test 虚拟环境应用:workon demo lizi_auto_test

 

2 django安装

pip install django -i https://pypi.doubanio.com/simple

 

3 创建及启动项目

创建项目:
django-admin startproject lizi_auto_test (可以使用pycharm创建)
django-admin startproject lizi_auto_test . (默认当前目录为django根目录) 启动项目:python manage.py runserver (ip:端口号可选) 项目地址:http:
//127.0.0.1:8000/ (默认) 后台地址:http://127.0.0.1:8000/admin 同步数据库:python manage.py migrate (默认是sqlite数据库) 创建后台用户:python manage.py createsuperuser 登录后台:admin admin

创建项目后,可以使用pycharm打开项目,interpreter选择新建的虚拟环境,terminal中使用workon进入虚拟环境

如果报错workon找不到,重启下pycharm

 

4 创建应用和数据库

  • 创建应用
python manage.py startapp blog
  • 配置应用(在setting文件中配置)
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blog',
]
  • 编写modle
from django.db import models
# Create your models here.
class Blogs(models.Model):
    title = models.CharField(max_length = 150)  # 博客标题
    content = models.TextField()                # 博客内容
    create_time = models.DateTimeField()          # 创建时间
  • 生成数据库
python manage.py makemigrations blog
python manage.py migrate
  • makemigrations和migrate区别
1 python manage.py makemigrations appname
在该app下建立 migrations目录,并记录下你所有的关于modles.py的改动,比如0001_initial.py, 但是这个改动还没有作用到数据库文件
2 python manage.py migrate appname
将该改动作用到数据库文件。如果要想精确到某一个迁移文件则可以使用:python manage.py migrate appname 文件名

    

 

5 创建视图和路由

  • 视图
from django.http import HttpResponse, JsonResponse
from blog.models import Blogs

# Create your views here.
def blog_list(request):
    blogs_obj = Blogs.objects.all()  # 获取所有数据
    blogs = []
    for blog in blogs_obj:  # 可迭代
        blogs.append({"title":blog.title, "content":blog.content, "create_time":blog.create_time})
    resp = {
        'code': 1,
        'blogs': blogs,
        'msg': '请求博客列表成功!'
    }
    return JsonResponse(resp, safe=False)   # JsonResponse返回一个非字典的类型时,safe参数要设置为False
  • 路由
from django.contrib import admin
from django.urls import path
from blog import views as blog_views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog_list/', blog_views.blog_list, name='blog_list'),
]

 

6 请求

 

7 admin后台添加log应用

  • 新增内容(blog 》admin.py中增加)
from django.contrib import admin
from blog.models import Blogs

# Register your models here.
class BlogsAdmin(admin.ModelAdmin):
    list_display = ['title', 'content', 'create_time']

# 后台注册 blog
admin.site.register(Blogs, BlogsAdmin)
  • 重启服务
  • admin后台查看结果

 

posted @ 2021-04-25 20:24  栗子测试开发  阅读(67)  评论(0)    收藏  举报