Django学习笔记--入门

备注:本文内容参考其他文章而来,非原创,仅为个人的学习记录。

Django的架构

让我们一览 Django 全貌:

1、urls.py 网址入口,关联到对应的views.py中的一个函数(或者generic类),访问网址就对应一个函数。

2、views.py 处理用户发出的请求,从urls.py中对应过来, 通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,用户请求的数据,输出到网页。

3、models.py 与数据库操作相关,存入或读取数据时用到这个,当然用不到数据库的时候 你可以不使用。

4、forms.py 表单,用户在浏览器上输入数据提交,对数据的验证工作以及输入框的生成等工作,当然你也可以不使用。

5、templates 文件夹 views.py 中的函数渲染templates中的Html模板,得到动态内容的网页,当然可以用缓存来提高速度。

6、admin.py 后台,可以用很少量的代码就拥有一个强大的后台。

7、settings.py Django 的设置,配置文件,比如 DEBUG 的开关,静态文件的位置等。

django常用操作:

备注:以下操作的版本信息为Django 2.2.4,Python3.5

1、创建一个django项目:django-admin startproject my_django_project

2、创建一个app:django-admin startapp my_app_1 (新定义的app需要加到settings.py中的INSTALL_APPS中)

3、在my_app_1 目录中,把views.py打开,修改其中的源代码:

# Create your views here.
#coding:utf-8

from django.shortcuts import render
from django.http import HttpResponse
def index(request):
    return HttpResponse(u"欢迎进入第一个Django页面!")

4、修改urls.py的源代码:

from django.contrib import admin
from django.urls import path
from my_app_1 import views as app_1_views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', app_1_views.index),
]

5、本地运行服务器测试效果:

python manage.py runserver

6、配置简单数据库操作,默认sqlite,现指定mysql数据库
(1)在my_django_project/settings.py文件下修改如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test',
        'USER': 'root',
        'PASSWORD': '1',
        'HOST':'localhost',
        'PORT':'3306',
    },
}

在my_django_project/init.py下修改:

import pymysql
pymysql.install_as_MySQLdb()

重启服务,如果报错:mysqlclient 1.3.13 or newer is required; you have 0.9.3.
请参考此文解决:https://blog.csdn.net/weixin_33127753/article/details/89100552

7、在my_app_1/models.py下设计数据库表,采用ORM方式

from django.db import models

# Create your models here.
class User(models.Model):
    username = models.CharField("name", max_length=30)
    password = models.CharField("password", max_length=30)
    email = models.EmailField("email", max_length=30)

    def __str__(self):
        return self.username

8、创建更改的文件,将生成的py文件应用到数据库,执行:

python manage.py makemigrations
python manage.py migrate
user表创建成功.jpg

9、创建超级管理员

(python3.5) D:\ZengHongfu\python_workplace\my_django_project>python manage.py createsuperuser
Username (leave blank to use 'zenghongfu'):
Email address:
Password:
Password (again):
This password is too short. It must contain at least 8 characters.
This password is entirely numeric.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.

10、启动服务,超级管理员登录后台




11、 在 my_app_1/admin.py中定义显示数据,重启服务

from django.contrib import admin
from .models import User

# Register your models here.
class UserAdmin(admin.ModelAdmin):
    list_display = ('username', 'password', 'email')  # 自定义显示字段

admin.site.register(User, UserAdmin)

后台管理设置为中文显示,settings.py下修改代码:

#LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-Hans' # 中文显示

你可能感兴趣的:(Django学习笔记--入门)