Django 新配置一个项目

Django初始化项目

创建django项目

在pycharm中新建Django项目,创建的时候可以选择一起创建一个应用
这个应用无需去settings里注册,pycharm帮你注册好了

创建应用

python3 manage.py startapp 应用名

配置应用

注册应用

# settings.py
INSTALLED_APPS = [
    '应用名',
]

配置数据库

事先在navicat中创建好库

# 在项目的init.py文件内
import pymysql
pymysql.install_as_MySQLdb()
# settings.py文件
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '提前创建好的库的名字',
        'USER':'root',
        'PASSWORD':'6008',
        'HOST':'127.0.0.1',
        'PORT':3306,
        'CHARSET':'utf8'
    }
}

static相关

在项目下创建一个static文件夹,里面放静态文件,包括CSS,JS,HTML,和第三方的框架,如jQuery,bootstrap

1591804016683

把bootstrap和jQuery都复制进来

# settings.py文件,配置令牌,静态文件路径

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR,'static')
]

配置models

AbstractUser

使用自定义的用户模型类

# models.py
from django.contrib.auth.models import AbstractUser
# 先导入
class UserInfo(AbstractUser):
    # 继承AbstractUser
    pass

# settings.py
AUTH_USER_MODEL = 'bbs01.UserInfo'
# 告诉django我们使用自己的用户模型类

数据库

# models.py
from django.db import models
class Blog(models.Model):
	# 继承models.Model
    site_name = models.CharField(verbose_name='站点名称', max_length=32)
    site_title = models.CharField(verbose_name='站点标题', max_length=32)
    site_theme = models.CharField(verbose_name='站点样式', max_length=64)

数据库迁移命令

python3 manage.py makemigrations
python3 manage.py migrate

编写html

导入static

{% load static %}
    <script src="{% static 'jQuery/jQuery-3.4.1.js' %}"></script>
    <link rel="stylesheet" href="{% static 'bootstrap-3.3.7-dist/css/bootstrap.min.css' %}">
    <script src="{% static 'bootstrap-3.3.7-dist/js/bootstrap.min.js' %}"></script>

必须有{% load static %},否则访问不到static文件夹中的文件

forms组件

使用forms组件,可以在项目下另外写一个py文件,专门用来放forms组件。如果要使用forms的地方很多,可以创建一个文件夹,里面放一系列forms组件

# myforms.py
from bbs01 import models
from django import forms
# 先导入模板层,forms组件
class MyRegForm(forms.Form):
	# forms组件代码
	...
	
# views.py 或者其他使用forms组件的地方

from bbs01.myforms import MyRegForm
# Create your views here.
def register(request):
    form_obj = MyRegForm()
    return render(request,'register.html',locals())
posted @ 2020-06-11 00:23  黑猫警长紧张  阅读(157)  评论(0编辑  收藏  举报