python Django的基础知识

Django 的基础知识

创建django工程

命令行创建 django

django-admin startproject (工程名称)
mysite
    mysite  对整个程序进行配置
        init
        settings 配置文件
        url url对应关系
        wsgi  遵循wsgi规则 uwsgi+nginx
    manage.py  管理django程序
                   python manage.py
                   python manage.py startapp xx
                   python manage.pymakemigrations
                   python.manage.py migrate

运行django功能

python manage.py runserver 127.0.0.1:8001

pycharm 创建django工程

创建 app

python manage.py startapp cmdb
python manage.py startapp openstack

app

migrations 数据修改表结构
admin  django的后台管理
apps 配置当前app
models 写指定的类 通过命令创建数据库结构
views   业务代码

1,配置模板的路径

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(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',
            ],
        },
    },
]

2,配置静态目录

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

内容整理
1,创建Django 工程

django-admin startproject  工程名

2,创建app

cd 工程名
python manage.py startapp cmdb

3,静态文件

project.settings.py
STATICFILES_DIRS =(
    os.path.join(BASE_DIR,"static"),
)

4,模板路径

DIRS ==> [os.path.join(BASE_DIR,'templates'),]

5,settings 中

middlerware
    #注释 csrf

6,定义路由规则

url.py
    "login" --> 函数名

7,定义视图函数

app 下 view.py
    def func(request):
    #request.method GET/POST

    #http://127.0.0.1:8009/home?nid=123&name=baobaohui
    #request.GET.get('',None) 获取请求发来的数据

    #request.POST.get('',None)

    #return HttpResponse("字符串")
    #return render(request,"HTML模板的路径")
    #return redirect("/只能填url")

8,模板渲染–特殊的模板语言

变量名
    def func(request):
        return render(request,"index.html",{'current_user':"宝宝辉"})

    index.html

    <html>
        <body>
            <div>{{current_user}}</div>
        </body>
    </html>
    ====> 最后生成的字符串

    <html>
        <body>
            <div>宝宝辉</div>
        </body>
    </html>
for 循环
   USER_LIST = [
   {'username':'宝宝辉','sex':'男'}
   ]
   for index in range(20):
       temp = {'username':'宝宝辉'+str(index),'sex':'男'}
       USER_LIST.append(temp)

   def home(request):
       if request.method == "POST":
           u = request.POST.get('username')
           s = request.POST.get('sex')
           temp = {'username':u,'sex':s}
           USER_LIST.append(temp)
       return render(request,'home.html',{'user_list':USER_LIST})

   home.html
   <html>
       <body>
           {% for row in user_list %}
           <tr>
               <td>{{ row.username }}</td>
               <td>{{ row.sex }}</td>
           </tr>
           {% endfor %}
       </body>
   </html>
索引
 def func(request):
 	return render(request, "index.html", {
 		'current_user': "alex",
 		'user_list': ['alex','eric'],
 		'user_dict': {'k1': 'v1', 'k2': 'v2'}})


 index.html

 html>
 	..
 	<body>
 	<div>{{current_user}}</div>

 	<a> {{ user_list.1 }} </a>
 	<a> {{ user_dict.k1 }} </a>
 	<a> {{ user_dict.k2 }} </a>

 	</body>

 	</html>
条件
	def func(request):
		return render(request, "index.html", {
			'current_user': "alex",
			"age": 18,
			'user_list': ['alex','eric'],
			'user_dict': {'k1': 'v1', 'k2': 'v2'}})


	index.html

	<html>
		..
		<body>
		<div>{{current_user}}</div>

		<a> {{ user_list.1 }} </a>
		<a> {{ user_dict.k1 }} </a>
		<a> {{ user_dict.k2 }} </a>

			{% if age %}
				<a>有年龄</a>
			    {% if age > 16 %}
			        <a>老男人</a>
			    {% else %}
				    <a>小鲜肉</a>
			    {% endif %}
			{% else %}
				<a>无年龄</a>
			{% endif %}
		</body>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值