Django访问静态资源及连接mysql数据库(反向生成表)

来源:互联网 发布:竞价排名点击软件 编辑:程序博客网 时间:2024/05/21 12:48

---Django项目中一般不允许存在静态资源,我们为了演示。特做了一个小demo
---demo结构为:

其中static为静态资源存放的目录,goods为新生成的application(点击Tools中的run manager.py,输入startapp goods)

-----Django访问静态资源首先我们在static中建一个goods.html

---settings.py中设置静态资源的路径

设置静态资源的路径
STATICFILES_DIRS=(    os.path.join(BASE_DIR, 'static'),)STATIC_URL = '/static/'---urls.py中进行设置访问静态资源的地址栏解析
from django.conf.urls import urlfrom django.contrib import adminfrom django.conf.urls.static import staticfrom django.conf import settingsurlpatterns = [    url(r'^admin/', admin.site.urls),]+static(settings.STATIC_URL, document_root=settings.STATICFILES_DIRS)访问http://127.0.0.1:8000/static/goods.html不报错,即证明静态资源访问成功!一般404,403出错,可能出现的原因:
1.settings.py中的STATICFILES_DIRS写错,必须为这个名字
2.settings.py中的STATICFILES_DIRS中的
 "os.path.join(BASE_DIR, 'static'),",少写了一个","

----------Django连接mysql数据库及反向生成表
----settings.py中进行设置
INSTALLED_APPS中引入goods模块
INSTALLED_APPS = [    'django.contrib.admin',    'django.contrib.auth',    'django.contrib.contenttypes',    'django.contrib.sessions',    'django.contrib.messages',    'django.contrib.staticfiles',    'goods',]

配置mysql数据库:
DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql',#数据库引擎,类似于驱动        'NAME':"shopsys_db",                   #数据库名称        'HOST':"localhost",                    #连接的数据库ip        'USER':"root",                          #用户名        'PASSWORD':"root",                     #密码        'PORT':"3306",                         #端口,默认3306    }}
此时若启动会报错,因为我们需要下载一个mysql的支持
命令为:pip install mysqlclient

---------若连接数据库成功了,我们开始反向生成表
--首先我们在goods模块下的models.py中编写我们数据库表的字段
from django.db import models# Create your models here.class Category(models.Model):    name=models.CharField(max_length=50,null=False,unique=True)#当前节点名称    parent=models.ForeignKey('self',null=True)#当前节点的父节点id,与id设置外键关系

注意!!Django中认为任何一张表都有id,故默认的有id自增,无需写!

--让我们迁徙下(反向生成表)
点击Tools中的run manager.py,输入
makemigrations goods
sqlmigrate goods 0001
migrate goods如果不报错,则检查下数据库(表及表中字段是否生成及表的外键关系存在与否)若数据库存在,则成功!


-------------------ok,下一篇我们来简单的了解django中如何使用easyui


原创粉丝点击