Django笔记记录

Django

以下记录自己学习django,大佬请无视就好,跟我一样的小白,看也无妨,但是不保证对!
使用的是django2.2

1创建项目:

django-admin.py startproject xxxx # xxx为项目名字

django-admin.py startapp xxxx # xxx为app名字

python manage.py runserver # 启动项目

2修改setting.py

先修改最后的时间
LANGUAGE_CODE = 'zh-hans' 

TIME_ZONE = 'Asia/Shanghai'

USE_I18N = True

USE_L10N = True

USE_TZ = False

注册App
# 应用列表 创建的应用都要在这儿注册以哈 
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'TestModel',
]
创建模板地址要在setting.py 内进行注册
# 模板
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [BASE_DIR+"/templates",],# 模板文件的地址在这儿修改一下就行了
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]
静态文件
STATIC_URL = '/static/'  # 使用时前缀是什么?
STATICFILES_DIRS = [ 
    os.path.join(BASE_DIR, "statics"), 
]

STATIC_ROOT = '/home/sychen/xxx' # 在部署的时候要把静态文件交给nginx管理
								 # 使用python manage,py collectstatic /hoem/sychen/xxx 收集所有的静态文件
文件目录
.
├── db.sqlite3
├── HelloWorld
│   ├── asgi.py
│   ├── __init__.py
│   ├── settings.py			# 配置文件
│   ├── urls.py				# Django 项目的 URL 声明
│   ├── views.py			# 视图函数	
│   └── wsgi.py				# 定义django用什么socket wssgiref 或者uwsgi
├── manage.py              # 操作工具 
├── statics					# 自己创建,也可以在其他地方创建,要修改setting.py
│   ├── css
│   ├── images
│   ├── js
│   └── plugins
├── templates
└── TestModel
    ├── admin.py
    ├── apps.py
    ├── __init__.py
    ├── migrations
    │   ├── __init__.py
    ├── models.py		# 操作数据库
    ├── tests.py
    ├── urls.py			# App内的路由文件,需要自己创建,直接把主项目的粘过来修改就行
    └── views.py			# App内的视图函数文件

3修改路由文件

创建了App之后,要在主项目下urls.py将App与主urls.py文件链接起来,如下:

# project/urls.py
from django.contrib import admin
from . import views
from django.urls import include,path

urlpatterns = [
    path('admin/',admin.site.urls),
    # 在此包含子路由
    # 先在每个app里创建子路由文件  urls.py
    #  路由前缀 user/
    path('user/',include('App_name.urls'))
    
]

函数 path() 具有四个参数,两个必须参数:route 和 view,两个可选参数:kwargs 和 name。

routh : 匹配 URL
view : 定义的视图函数
kwargs : 任意个关键字参数可以作为一个字典传递给目标视图函数
name:

4urls.py 和view.py

urls.py和views.py,
urls.py负责接受网页的访问,然后调用view.py 内的视图函数。
其中有 request 实例,负责接受网页传来的get和post消息。
也可以设置redirect() 跳转,重定向

class HttpRequest:
    """A basic HTTP request."""
class HttpResponse(HttpResponseBase):
    """
    An HTTP response class with a string as content.

    This content that can be read, appended to, or replaced.
    """

# render
def render(request, template_name, context=None, content_type=None, status=None, using=None):
    """
    Return a HttpResponse whose content is filled with the result of calling
    django.template.loader.render_to_string() with the passed arguments.
    """
    content = loader.render_to_string(template_name, context, request, using=using)
    return HttpResponse(content, content_type, status) # render 依然返回的是HttpResponse
以下说明HttpResponse的方法和属性:
request的常用属性
    GET:GET 请求体内的东西
    POST: POST请求体里面的东西
    methon:方法
    PATH:
    scheme:
    其他请求属性:META 都在这里面
        客户端地址: META.get('REMOTE_ADDR')

    常用方法:
    get_host()
    get_full_path()
    bulid_absolute_url()

    request.GET.dist() 

设计模型(就是操作数据库)

python manage.py migrate # 
# app_name/models.py

from django.db import models

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

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0)
    def __str__()
    	return ...

待续。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值