django实现动态路由的简单方法

使用django的时候需要配置路由

需要在url中进行路由配置,很麻烦、
path(‘new/’, include(‘newxichentousystem.urls’)),

关键还有再配置子路由,也很麻烦

这样做的好处

整个项目只需要有一个url.py 文件即可

根据请求名,调用函数

from django.conf.urls import url
from django.contrib import admin
from django.urls import path, include,re_path
from django.views.static import serve

from django10 import settings
from villagemanage import views as views1
from newxichentousystem import views as views2

from dongtailuyou import views as views3
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views1.index, name='index'),
    re_path(r'^dturl/(?P<fucname>[a-zA-Z0-9]+)/$',views3.usefucbyname),
    url(r'^media/(?P<path>.*)', serve, {"document_root":settings.MEDIA_ROOT}),

]

在app.view文件中

放在页面开头就好

def usefucbyname(request,fucname):
    return eval(fucname)(request)

别忘了记得在django.setting 中添加app名称

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'villagemanage',
    'newxichentousystem',
    'dongtailuyou'
]

ajax 携带口令

$.ajaxSetup({
data: {csrfmiddlewaretoken: ‘{{ csrf_token }}’ },
});

常用配置

# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-Hans'

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

USE_I18N = True

USE_L10N = True

USE_TZ = True


# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.2/howto/static-files/


STATIC_URL = '/static/'

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

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

MEDIA_URL="/media/"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
好的,下面是Python+Django实现文件上传的简单步骤: 1. 创建Django项目和应用 可以使用Django自带的命令创建: ``` django-admin startproject myproject cd myproject python manage.py startapp myapp ``` 2. 配置上传文件的路径 在`settings.py`中配置上传文件的路径: ``` MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_URL = '/media/' ``` 3. 创建文件上传表单 在`myapp`目录下,创建一个`forms.py`文件,定义一个文件上传表单: ``` from django import forms class UploadForm(forms.Form): title = forms.CharField(max_length=50) file = forms.FileField() ``` 4. 创建文件上传视图 在`myapp`目录下,创建一个`views.py`文件,定义一个文件上传视图: ``` from django.shortcuts import render from django.http import HttpResponseRedirect from myapp.forms import UploadForm def upload(request): if request.method == 'POST': form = UploadForm(request.POST, request.FILES) if form.is_valid(): title = form.cleaned_data['title'] file = form.cleaned_data['file'] # 处理上传的文件 return HttpResponseRedirect('/success/') else: form = UploadForm() return render(request, 'upload.html', {'form': form}) ``` 5. 创建文件上传模板 在`myapp`目录下,创建一个`templates`目录,并在其中创建一个`upload.html`模板文件,用于渲染文件上传表单: ``` {% extends 'base.html' %} {% block content %} <h1>Upload File</h1> <form method="post" enctype="multipart/form-data"> {% csrf_token %} {{ form.as_p }} <input type="submit" value="Upload"> </form> {% endblock %} ``` 6. 配置URL路由 在`myapp`目录下,创建一个`urls.py`文件,定义文件上传视图的URL路由: ``` from django.urls import path from myapp.views import upload urlpatterns = [ path('upload/', upload, name='upload'), ] ``` 7. 运行Django服务器 在命令行中执行如下命令,启动Django服务器: ``` python manage.py runserver ``` 现在可以访问`http://127.0.0.1:8000/myapp/upload/`,上传文件并处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuemake999

请我喝茶呗

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值