zoukankan      html  css  js  c++  java
  • DjanGo初识方法备录

    Django项目创建两种方式

    方式一(命令行)

    (1)创建django项目
    django-admin startproject 项目名
    (2)创建app应用
    python3 manage.py startapp app01
    (3)启动django项目
    python3 manage.py runserver
    ps:用命令行创建django默认不会自动创建templates文件夹
    需要你手动自己创建(注意改文件夹路径是否被添加配置文件中)

    方式二(pycharm)

    FILE >>> new project 选择第二个django 需要注意名字不能有中文,选择本地的解释器,勾选后台管理
    创建app
    (1)pycharm命令行创建
    (2)python3 manage.py startapp app01
    (3)Tools下面run manage task功能栏
    (4)启动点小绿色箭头

    强调:
    1.用django一定要保证只有一个在运行状态 切记切记!!!!!!!
    2.一定记得清浏览器的缓存

    模板

    模板

    layout.html

    a.css:

    {% block mycss%}
    {% endblock %}

    b.content:

    {% block mycontent%}
    {% endblock %}

    c. js:

    {% block myjs%}
    {% endblock %}

    子板

    {%extends "layout.html" %}

    {% block mycss%}
    xxxxxxx
    xxxxxxx
    {% endblock %}

    {% block mycontent%}
    dbsajbdjsa
    {% endblock %}

    a. cookie是存在 客户端的
    b. cookie用来验证用户登录验证的信息的
    c. cookie是可以被禁用掉

    set_cookie():
    key: cookie的key
    value: cookie的 key对应的值
    max_age: cookie的失效时间

    expires: 失效时间
    path : cookie在哪个路径下生效
    domain:域名
    httponly

    补:

    set_signed_cookie(key, val, salt)
    分别对应K,V,加盐

    路由系统

    1、伪静态

    将很长的网站域名转换位简单有规则的域名

    2、目的

    a.为了美观
    b.为了优化搜索引擎优化技术,使得网站更容易被搜索到

    3、如何实现

    通过路由分发技术,然后再url的方法映射的地方通过正则匹配,同时再方法中可在通过多个传参接收多个参数来接收除request以外的参数,具体方法见下:

    url:
    				
    url(r'^index/(w+)/(w+)/', index),
    url(r'^test/(?P<id>w+)/(?P<name>w+)/', test),
    					
    def test(request, name, id):
    print(id , name)
    
    return HttpResponse('test')
    

    4、路由正则与未匹配到(404)

    url(r'^test2/$', test2)
    url(r'^', notfound) 需要写到最下面

    5、反向路由

    后台url:
    url(r'^logindjsajdbjsabdsabdbsabdhsabdhbsahbdsaasa/$', login, name='xxx')
    前台:

    ####6、路由分组 a.先将路由路径按类进行分组分发给每个类的路由 b.到达每个类的路由后,每个类的路由再将信息分发到不同的方法中去 ``` 总urls.py; url(r'^app02/', include('app02.urls')), url(r'^app03/', include('app03.urls')),

    分appurls.py:

    from app03 import views

    urlpatterns = [

    url(r'^students/', views.studnets)
    ]

    ###函数视图
    ####FBV:
    				
    function based view
    			
    ####CBV:
    				
    	class based view
    				
    	urls.py:
    	url(r'^login/', views.Login.as_view()),
    				
    	views.py:
    	from django.views import View
    	class Login(View):
    
    	def get(self, request):
    
    	return render(request, "login.html")
    
    	def post(self, request):
    	uname  = request.POST.get('username')
    
    	print(uname)
    	return HttpResponse('ok')
    			
    			
    ####原理:
    	'get': 请求数据
    	'post':提交数据
    	'delete': 删除数据
    	'put': 更新数据
    	'patch': 更新部分数据
    		
    ps:
    	form表单提交 只支持get、post  
    	ajax支持
    					
    	核心:
    	def dispatch(self, request, *args, **kwargs):
    	super(Login, self).dispatch(request, *args, **kwargs)
    ###ORM配置
    ####a.创建数据库
    ####b.配置mysql数据库的链接:
    

    DATABASES = {
    # 'default': {
    # 'ENGINE': 'django.db.backends.sqlite3',
    # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    # }
    'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 's8day61', ## 数据库名称
    'USER': 'root',
    'PASSWORD': '123', ## 安装 mysql 数据库时,输入的 root 用户的密码
    'HOST': '127.0.0.1',
    }
    }

    ####d. 需要将mysqldb换成pymysql
    python3:
    	pymysql
    					
    	python2:
    	MySQLdb
    					
    app下的 __init__.py文件
    						
    	import pymysql
    	pymysql.install_as_MySQLdb()
    ####e:创建表 命令:
    python3  manage.py makemigrations
    python3 manage.py migrate
  • 相关阅读:
    程序员下班去超市购物与收银员的一段搞笑对白 续集
    2010年9月02日周四_Deploying ArcGIS Mobile applications_4.1
    2010年8月30日周一_Adding layers _7.2
    2010年8月30日周一_Creating A Map_7.1
    2010年9月01日周三_CreatingAndPublishingaMobileWebService_3.2
    2010年8月29日周日_Deployment_6
    2010年8月31日周二_Navigating the map_7.3
    2010年8月30日周一_Introduction to ArcGIS Mobile SDK_1
    2010年9月01日周三_Using GPS data and devices_3.3
    2010年8月29日周日_Using the Sample Xcode Projects_5
  • 原文地址:https://www.cnblogs.com/huanghongzheng/p/11191155.html
Copyright © 2011-2022 走看看