Dongxing's Wiki Dongxing's Wiki
首页
  • 剑指 Offer
  • LeetCode
  • 算法与数据结构
  • Python 语言
  • Web 开发
  • Hive
  • Elastic Search
  • 机器学习
  • NLP
  • 检索技术
  • 数据分析
  • 经验笔记
  • Linux 配置
  • 博客进化记
  • 杂谈
GitHub (opens new window)
首页
  • 剑指 Offer
  • LeetCode
  • 算法与数据结构
  • Python 语言
  • Web 开发
  • Hive
  • Elastic Search
  • 机器学习
  • NLP
  • 检索技术
  • 数据分析
  • 经验笔记
  • Linux 配置
  • 博客进化记
  • 杂谈
GitHub (opens new window)
  • 语法

    • conda常用命令整理
    • Python、Django 中使用 logging 便捷处理日志记录
    • Python 中的 is 和 ==
    • Python 中的堆和优先队列
  • Web

    • 使用django快速搭建微信公众号后台服务
    • Django 常用操作笔记
      • 创建项目
      • 修改项目 settings
      • 创建 app
      • 运行 debug run
      • 数据库初始化
      • 设置管理员后台
      • 创建 model
    • 使用haystack实现django全文检索搜索引擎功能
    • django session何时被修改
  • Python
  • Web
anthony
2021-09-01
目录

Django 常用操作笔记

好久没用 Django 了,最近准备新做一些小项目,所以重新拾起来。记录一下常见的使用 Django 的操作。

ref: 参阅 Django 官方文档 https://docs.djangoproject.com/zh-hans/3.2/intro/tutorial01/

# 创建项目

django-admin startproject mysite
1

会创建一个 mysite 的项目和目录

# 修改项目 settings

有一些配置需要修改一下。修改 settings.py 文件。


ALLOWED_HOSTS = [
    '*',
]

# 默认数据库是 sqlite,如果要使用其他数据库,需要修改配置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '数据库名字',
        'USER': '用户名',
        'PASSWORD': '密码',
        'HOST': '地址',
        'PORT': '端口',
    }
}

# 可以自己修改时区和language code
LANGUAGE_CODE = 'zh-Hans'

TIME_ZONE = 'Asia/Shanghai'


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

如果是 mysql 数据库的话,貌似由于 python3 的原因,需要配置一下 pymysql 作为驱动。pip 安装一下 pymysql,然后修改项目文件夹里的 __init__.py ,加入这两句。

import pymysql
pymysql.install_as_MySQLdb()
1
2

# 创建 app

执行命令,新建一个名为 poll 的app。

python manage.py startapp poll
1

创建后,如果要用到这个app,需要在 settings.py 里注册一下。修改:

INSTALLED_APPS = [
    'poll.apps.PollConfig',  # 在这里加上你的app,这样就会根据这个Config里面的内容来配置app了
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

1
2
3
4
5
6
7
8
9
10

修改 poll/views.py 。

from django.http import HttpResponse


# Create your views here.
def index(req):
    return HttpResponse('hello django')

1
2
3
4
5
6
7

在 poll 目录里面,新建一个 urls.py 文件,将 url 模式与 view 关联起来。

from django.urls import path

from . import views

urlpatterns = [
    path('', views.index, name='index'),
]
1
2
3
4
5
6
7

在整个项目的 urls.py 里面,include 一下 poll app 的 url,也就是将总的 url 和 poll app 的 url 做一个关联。

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

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]
1
2
3
4
5
6
7

# 运行 debug run

python manage.py runserver 8888
1

指定一个端口号,就可以跑起来了。访问浏览器,输入 localhost:8888/polls/

# 数据库初始化

运行命令将数据库初始化(主要是为默认提供的 auth 、session 之类的功能完成建表)。

# 生成migration脚本
python manage.py makemigrations
# 执行数据库操作
python manage.py migrate
1
2
3
4

# 设置管理员后台

管理后台默认通过 /admin 路径进入,需要先创建一个管理员账号。

python manage.py createsuperuser
1

按照提示进行设定即可。注意创建管理员账号前,需要完成一次初始化的数据库 migrate。

# 创建 model

在 poll=/models.py 里面可以新建 model

from django.db import models


class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

1
2
3
4
5
6
7

细节参考文档啦。创建 model 后,可以进行 makemigrations 和 migrate。注意,这个 poll app 应该要在前面的步骤中完成 INSTALLED_APPS 里的注册才可以。

上次更新: 2021/09/04, 22:09:00
使用django快速搭建微信公众号后台服务
使用haystack实现django全文检索搜索引擎功能

← 使用django快速搭建微信公众号后台服务 使用haystack实现django全文检索搜索引擎功能→

Theme by Vdoing | Copyright © 2017-2023 anthony 京ICP备17072417-3
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式