Django项目的创建&Django项目的修改配置文件

创建Django项目

C:\Users\35211>d:   先切换到想要创建项目的盘符

D:\>django-admin startproject 项目名称  创建项目

D:\> python manage.py startapp 子应用名称  创建子应用

Django的操作

迁移表

python manage.py makemigrations  执行表迁移命令
python manage.py migrate   表迁移

执行python manage.py migrate无法创建表


执行时报:No migrations to apply.

1. 进入数据库,找到django_migrations的表,删除该子应用对应的所有记录

	python manage.py dbshell
	delete from django_migrations where app='app01';

2. 删除该子应用下的migrations下的除了__init__.py之外的文件。

 3. 执行下面这两条命令:(在项目目录下)

   python manage.py makemigrations
   python manage.py migrate

注:如果个别app表依然无法建立可以在后面添加app名称:python manage.py makemigrations/migrate app01

django项目和子应用各文件作用

│ db.sqlite3 # sqlite数据库文件(settings.py中默认连接的数据库)
│ manage.py # 项目管理脚本
│
├─app01 (子应用目录)
│ │ admin.py # 配置django admin后台
│ │ apps.py
│ │ models.py # 配置django表,负责和数据库交互,进行数据处理
│ │ tests.py
│ │ views.py # 接收请求,进行业务处理,返回应答
│ │ init.py
│ │
│ └─migrations
│ init.py
│
└─mysite
│ settings.py # 项目配置文件
│ urls.py # 总路由
│ wsgi.py
│ init.py

修改Django项目的配置

  • 在子应用同级目录下创建一个templates文件夹
  • 配置settings.py文件 , 配置模板的路径
TEMPLATES = [
    {
       'DIRS': [os.path.join(BASE_DIR,'templates')],
    },
]
  • 配置静态目录
#像ccs和js这些静态文件如果想要使用必须在这里配置路径
STATICFILES_DIRS = (
    os.path.join(BASE_DIR,'static'),
)
  • 注释CSRF
MIDDLEWARE = [
    # 'django.middleware.csrf.CsrfViewMiddleware',
]

  • 修改settings.py中时区
# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-hans'

# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'

  • 配置MySQL数据库

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'HOST': '127.0.0.1',  #域名
        'PORT': 3306, #端口号
        'USER': 'root', #MySQL的用户名
        'PASSWORD': 'root',  #MySQL的密码
        'NAME': 'test', #MySQL数据库的名称
    }
}

path() 函数

Django path() 可以接收四个参数,分别是两个必选参数:route、view 和两个可选参数:kwargs、name。

语法格式:


path(route, view, kwargs=None, name=None)

  • route: 字符串,表示 URL 规则,与之匹配的 URL 会执行对应的第二个参数 view。

  • view: 用于执行与正则表达式匹配的 URL 请求。

  • kwargs: 视图使用的字典类型的参数。

  • name: 用来反向获取 URL。

Django2. 0中可以使用 re_path() 方法来兼容 1.x 版本中的 url() 方法,一些正则表达式的规则也可以通过 re_path() 来实现 。


from django.urls import include, re_path

urlpatterns = [
    re_path(r'^index/$', views.index, name='index'),
    re_path(r'^bio/(?P<username>\w+)/$', views.bio, name='bio'),
    re_path(r'^weblog/', include('blog.urls')),
    ...
]

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值