小编Rob*_*bin的帖子

通过django分页仅显示部分页码

我在模板中使用django paginator.它工作正常,但是当有大量页面时效果不佳.

views.py:

def blog(request):
    blogs_list = Blog.objects.all()

    paginator = Paginator(blogs_list, 1)

    try:
        page = int(request.GET.get('page', '1'))
    except:
        page = 1

    try:
        blogs = paginator.page(page)
    except(EmptyPage, InvalidPage):
        blogs = paginator.page(page)
    return render(request, 'blogs.html', {
        'blogs':blogs
        })
Run Code Online (Sandbox Code Playgroud)

模板的片段:

  <div class="prev_next">

    {% if blogs.has_previous %}
      <a class="prev btn btn-info" href="?page={{blogs.previous_page_number}}">Prev</a>
    {% endif %}
    {% if blogs.has_next %}
      <a class="next btn btn-info" href="?page={{blogs.next_page_number}}">Next</a>
    {% endif %}
    <div class="pages">
      <ul>
      {% for pg in blogs.paginator.page_range %}
        {% if blogs.number == pg %}
          <li><a href="?page={{pg}}" …
Run Code Online (Sandbox Code Playgroud)

django django-pagination

24
推荐指数
5
解决办法
1万
查看次数

反应原生图像预取

我很难理解Image prefetch.在文档中没有太多解释:

"通过将远程映像下载到磁盘缓存来预取远程映像以供以后使用"

你能帮我理解下面的图片预取:

  1. 假设用户上传了配置文件图像,并且图像的URL存储在AsyncStorage中.

    • Image.prefetch(UserStore.profileImageUrl) 成功上传后我应该运行一次.并且通常在组件中使用预取图像<Imagesource={{uri: UserStore.profileImageUrl}}/>

    • 或者我应该Image.prefetch(UserStore.profileImageUrl)在组件中使用该图像之前始终运行,然后才运行<Imagesource={{uri: UserStore.profileImageUrl}}/>

  2. 假设,稍后,用户通过上传新图像来更改其个人资料图像,并且在成功上传之后,我将预取新图像.以前缓存的图像是否仍然存在于磁盘上?

    • 如果是,如果有大量预取图像,它是否会占用设备中的大量空间?
  3. 有没有办法手动从磁盘中删除预取的图像?

考虑到上述问题,如果在使用本地反应世界时有替代解决方案来实现图像缓存,请你帮我解决一下.

react-native

21
推荐指数
1
解决办法
1万
查看次数

React中的Draftjs样式

我想在我的项目中使用draft.js.它有自己的CSS,我也需要导入.在文档中说:

渲染编辑器时应包含此CSS,因为这些样式设置了文本对齐,间距和其他重要功能的默认值.

  1. 如何在渲染组件时包含Draft.css?我是否将其包含在我的主index.html中?
  2. 还如何给一个id到编辑器,这样我可以设置样式(例如border,padding,min-height等)

css reactjs draftjs

19
推荐指数
2
解决办法
7479
查看次数

Bootstrap旋转木马没有滑动

我一直在尝试使用Bootstrap Carousel并在某种程度上取得了成功.我也可以点击并更改图片.但我有一个问题.它只是没有滑动!我哪里做错了?

HTML:

<div id="my_carousel" class="carousel slide">

  <ol class="carousel-indicators">
    <li data-target = "#my_carousel" data-slide-to = "0" class="active"></li>
    <li data-target = "#my_carousel" data-slide-to = "1"></li>
    <li data-target = "#my_carousel" data-slide-to = "2"></li>
  </ol>

  <div class="carousel-inner i">

    <div class="item active">
      <img src="images/f3.jpg" alt = "i1" class="img-responsive">
    </div>

    <div class="item">
      <img src="images/f2.jpg" alt = "i2" class="img-responsive">
    </div>

    <div class="item">
      <img src="images/f1.jpg" alt = "i3" class="img-responsive">
    </div>

  </div>

  <a class="carousel-control left" href="#my_carousel" data-slide = "prev">
    <span class="icon-prev left"></span>
  </a>

  <a class="carousel-control right" href="#my_carousel" data-slide …
Run Code Online (Sandbox Code Playgroud)

html jquery twitter-bootstrap

18
推荐指数
2
解决办法
5万
查看次数

如何使用jQuery和Django分页追加数据页面?

我正在使用内置的Django pagination来分页数据并在模板中显示.我现在想要实现jQuery来使用ajax加载页面并将其附加到模板.我如何使用jQuery做到这一点?

之前我使用的是django-endless-pagination,但由于它通过JavaScript添加条目,我的灯箱显示图像不会捕获图像元素,只显示第一次请求时加载的条目.

views.py:

def snaps(request):
    snapgroup_list = SnapGroup.objects.all()
    paginator = Paginator(snapgroup_list, 1)

    try:
        page = int(request.GET.get('page', '1'))
    except:
        page = 1
    try:
        snapgroup = paginator.page(page)
    except(EmptyPage, InvalidPage):
        snapgroup = paginator.page(page)

    index = snapgroup.number - 1  # edited to something easier without index
    max_index = len(paginator.page_range)
    start_index = index - 3 if index >= 3 else 0
    end_index = index + 3 if index <= max_index - 3 else max_index
    page_range = paginator.page_range[start_index:end_index]

    return render(request, 'snaps.html', { …
Run Code Online (Sandbox Code Playgroud)

django ajax jquery pagination

18
推荐指数
2
解决办法
4245
查看次数

处理单页面应用程序url和django url

我有一个在Vue.js中创建的单页面应用程序,它利用HTML5历史模式进行路由,并且html文件与Django一起提供.

django 的urls.py是这样的:

urlpatterns = [
    url(r'^$', views.home),
    url(r'^admin/', admin.site.urls),
    url(r'^api-token-auth/', obtain_jwt_token),
]
Run Code Online (Sandbox Code Playgroud)

views.home:

def home(request):
    return render(request, 'index.html')
Run Code Online (Sandbox Code Playgroud)

请考虑以下情形:

  1. 用户访问主页(即/)

因为,主页响应单页Vuejs应用程序所需的index.html,它的工作方式与它应该的一样.

  1. 从那里用户导航到about页面(即,/username/12).

它仍然正常工作,因为它与Vue路由器导航.

  1. 现在,用户刷新页面.

由于没有/username/12urls.py模式,它会显示找不到网页(404) .

现在,我可以在urls.py中提供另一个模式来捕获最后一个顺序中的所有模式:

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^api-token-auth/', obtain_jwt_token),
    url(r'^.*$', views.home),
]
Run Code Online (Sandbox Code Playgroud)

但是像媒体或静态网址这样的其他网址也会指向所有模式正则表达式.我怎么解决这个问题?

django single-page-application vue.js vuejs2

18
推荐指数
3
解决办法
5617
查看次数

你如何选择Memcached,Redis和Varnish?

我对Memcached,Redis和Varnish非常困惑.我知道它们用于缓存,但我不知道它们有多大帮助,以及您如何知道使用哪一个.

最后,我想知道您将使用用户上传的图片和视频的网站?如果它有助于我使用Django框架.

django memcached varnish redis

17
推荐指数
2
解决办法
1万
查看次数

在单页面应用程序中使用django rest框架上载图像文件

我正在尝试使用Vuejs和Django上传图像,但我无法弄清楚如何解决它.

这是django方面:

class UserDetail(models.Model):
    user = models.OneToOneField(User)
    profile_picture = models.ImageField(upload_to=create_file_path)

class UserDetailSerializer(serializers.ModelSerializer):
    class Meta:
        model = UserDetail
        fields = '__all__'

class UserDetailViewSet(viewsets.ModelViewSet):
    queryset = UserDetail.objects.all()
    serializer_class = UserDetailSerializer
    permission_classes = [AllowAny]

    @detail_route(permission_classes=[AllowAny], methods=['POST'], parser_classes=[FormParser, MultiPartParser])
    def create_or_update_profile_picture(self, request):
        user = request.user
        #
        # how to create or update user detail profile picture ?
        #
Run Code Online (Sandbox Code Playgroud)

我以这种方式从Vuejs发布数据:

changeProfilePicture() {
    const file_input = document.getElementById('display_profile_image');
    const img = file_input.files[0];
    let formData = new FormData();
    formData.append("profile_picture", img);
    const url = this.$store.state.website + '/api/accounts/user-detail/none/create_or_update_profile_picture/';
    this.$http.post(url, formData) …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

11
推荐指数
2
解决办法
3378
查看次数

c ++ - fstream和ofstream

有什么区别:

fstream texfile;
textfile.open("Test.txt");
Run Code Online (Sandbox Code Playgroud)

ofstream textfile;
textfile.open("Test.txt");
Run Code Online (Sandbox Code Playgroud)

他们的功能是一样的吗?

c++ fstream ofstream

10
推荐指数
1
解决办法
2万
查看次数

如何通过保护仅经过身份验证的用户可以看到的URL来使文件成为私有文件

我想知道是否有一种方法可以保护图像或文件在未经过身份验证时被隐藏.

假设我的网站中有一个图像,只有在该用户通过身份验证时才能看到该图像.但问题是我可以复制网址或在新标签中打开图片.

http://siteis.com/media/uploaded_files/1421499811_82_Chrysanthemum.jpg

而且,即使我没有通过身份验证,我也可以通过访问该网址来查看该特定图像.所以,我的问题是,如何保护文件,以便只有经过身份验证的用户才会看到?

更新:

视图:

def pictures(request, user_id):
    user = User.objects.get(id=user_id)
    all = user.photo_set.all()
    return render(request, 'pictures.html',{
        'pictures': all
    })
Run Code Online (Sandbox Code Playgroud)

楷模:

def get_upload_file_name(instance, filename):
    return "uploaded_files/%s_%s" %(str(time()).replace('.','_'), filename)

class Photo(models.Model):
    photo_privacy = models.CharField(max_length=1,choices=PRIVACY, default='F')
    user = models.ForeignKey(User)
    image = models.ImageField(upload_to=get_upload_file_name)
Run Code Online (Sandbox Code Playgroud)

设置:

if DEBUG:
    MEDIA_URL = '/media/'
    STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "myproject", "static", "static-only")
    MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "myproject", "static", "media")
    STATICFILES_DIRS = (
    os.path.join(os.path.dirname(BASE_DIR), "myproject", "static", "static"),
    )
Run Code Online (Sandbox Code Playgroud)

更新:

模板:

{% if pictures %}
    {% for photo in pictures %}
        <img …
Run Code Online (Sandbox Code Playgroud)

python authentication django url file-access

10
推荐指数
1
解决办法
3028
查看次数