django搭建环境项目 笔记一

liunx安装Django

sodu pip3 install Django

检测当前是否安装Django及版本

python3 -m django --version

1.11.7

首先创建django项目

django-admin startproject idvip

这将创建一个目录myweb,

在manage.py同级目录下可以用以下命令进行运行

sudo python3 manage.py runserver 0:8000

如果报错,那么在seetiong文件夹配置以下内容

DisallowedHost at /polls
Invalid HTTP_HOST header: '192.168.*.*:8000'. You may need to add '192.168.*.*' to ALLOWED_HOSTS.

HTTP_HOST标头无效:'192.168.*.*:8000'。您可能需要将“192.168.*.*”添加到ALLOWED_HOSTS
解决:
进入 mysite/settings.py文件
ALLOWED_HOSTS = ['192.168.194.132']

然后可以用127.0.0.1:8000进行浏览器访问,出现以下内容表示访问成功
django搭建环境项目 笔记一_第1张图片

之后在manage.py同级目录下执行以下命令创建应用

//myhome用于存放前端相关数据
python3 manage.py startapp myhome
//myadmin用于存放后端相关数据
python3 manage.py startapp myadmin

这将创建一个目录myhome和myadmin应用。

然后把python程序中的urls分配给myhome和mydmin应用

django搭建环境项目 笔记一_第2张图片

之后把urls分别复制到myhome和myadmin文件下用来当作前端和后端的子路由

然后分别在myhome和myadmin下创建前台和后台的Views文件夹并创建views文件

django搭建环境项目 笔记一_第3张图片

然后在myhome的urls下写入路由参数

记得用 from .Views import IndexViews,导入你的views,注意大小写,被V的小写坑死了,找半天不知道那来的错

django搭建环境项目 笔记一_第4张图片

添加app路径

django搭建环境项目 笔记一_第5张图片

在当前manage.py的同级目录中创建一个文件夹 templates用于存放html文件

并在templates中,创建myadmin和myhome,以用于存放前台和后台页面
在settings.py文件中 TEMPLATES模块设置选项

'DIRS': [os.path.join(BASE_DIR,"templates")],

更改时区

LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False

配置静态文件地址

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

之后在manage.py同级目录创建static,静态文件夹

django搭建环境项目 笔记一_第6张图片

之后在当前环境中安装mysql

sudo apt-get install mysql-server

sudo apt install mysql-client

sudo apt install libmysqlclient-dev

在当前python环境中安装 pymysql
pip3 install pymysql

在mysql中创建数据库
create database idvip default charset=utf8

在settings文件中配置数据库环境

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'idvip',#选择数据库的名,请确认你的mysql中有这个库
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': 'localhost',
        'PORT': '3306',
        }
}
告诉Django在接下来的mysql操作中使用pymysql
打开idvip/init.py,写入以下代码导入pymysql:
import pymysql
pymysql.install_as_MySQLdb()

在model中引入models ,然后class要继承models.Model

from django.db import models

model中每一个class迁移之后都会生成一个表
class Users(models.Model):
	username = models.CharField(max_length=20)
	password = models.CharField(max_length=77)
	phone = models.CharField(max_length=11)
	email = models.CharField(max_length=100,null=True)
	age = models.IntegerField(default=18)
	pic_url = models.CharField(max_length=100,null=True)
	SEX_CHOICES = (
		(0,'女'),
		(1,'男'),
	)
	sex = models.CharField(max_length=1,null=True,choices=SEX_CHOICES)
	status = models.IntegerField(default=0)
	addtime = models.DateTimeField(auto_now_add=True)
	# 自定义 会员管理 权限
	class Meta:
		permissions = (
			("show_Users","查看用户列表权限"),
			("create_Users","添加用户信息权限"),
			("edit_Users","修改用户信息权限"),
			("remove_Users","删除用户信息权限"),
			)
	# class Meta:
    	# db_table = "polls_users"  # 指定表名

可以用以下命令进行生成和迁移文件

生成迁移文件

python3 manage.py makemigrations

执行迁移

python3 manage.py migrate

到此,基本环境就已经配置成功了,如果有疏漏,还望提醒。

你可能感兴趣的:(web后端,python)